블 루 브리지 컵 - 빠 른 정렬
1113 단어 알고리즘 학습
빠 른 정렬 은 매우 자주 사용 하 는 고 효율 알고리즘 이다.
그 사상 은 먼저 '자' 를 고 르 는 것 이다.
그것 으로 전체 대열 을 체 로 한 번 훑 어보 고,
보증: 왼쪽 에 있 는 요 소 는 모두 그것 보다 크 지 않 고 오른쪽 에 있 는 요 소 는 모두 그것 보다 작 지 않다.
이렇게 해서 정렬 문 제 는 두 개의 하위 구간 으로 나 뉜 다.
다시 하위 구간 을 나 누 어 정렬 하면 된다.
아래 의 코드 는 일종 의 실현 입 니 다. 밑줄 친 부분 에 부족 한 코드 를 분석 하고 작성 하 십시오.
#include
using namespace std;
#include
void swap(int a[], int i, int j)
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
int partition(int a[], int p, int r)
{
int i = p;
int j = r + 1;
int x = a[p];
while(1){
while(i=x
while(a[--j]>x);//j a[j]<=x
if(i>=j) break;
swap(a,i,j);
}
//______________________;
swap(a,p,j);// 。 , ,
return j;//j a[0] 。j a[j], a[j]
}
void quicksort(int a[], int p, int r)
{
if(p
주의: 부족 한 내용 만 작성 하고 코드 나 설명 문 자 를 쓰 지 마 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
두 갈래 나무의 매 결점의 왼쪽 아이와 오른쪽 아이를 교환하여 ~2020.8.13~ 학습노트두 갈래 체인 시계를 두 갈래 나무의 저장 구조로 삼아 두 갈래 나무의 각 결점의 왼쪽 아이와 오른쪽 아이를 교환한다. 두 갈래 나무의 순서를 입력하십시오.알림: 두 갈래 나무의 순서 서열은 문자열입니다. 문자가'#...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.