int Partition(a[],n) {
Left = 1; Right = n-1;
while(Left<Right) { //A[0]
//피벗보다 큰 값의 위치를 찾음
while(Left<n && A[Left]<A[0]) Left++;
//피벗보다 작은 값의 위치를 찾음
while(Right > 0 && A[Right] >= A[0]) Right++;
if(Left < Right) 교환(A[Left] <=> A[Right])
}
return Right;
}
'알고리즘' 카테고리의 다른 글
최소값 찾기 (0) | 2020.03.30 |
---|---|
합병 정렬 알고리즘 (0) | 2020.03.30 |
퀵 정렬 (0) | 2020.03.19 |
이진탐색 알고리즘_반복형태 (0) | 2020.03.19 |
이진탐색알고리즘_순환형태 (0) | 2020.03.17 |