Skip to content
- 메인 함수
|
int main(int argc, char** argv) { int A[8] = {36, 2, 3, 15, 32, 4, 10, 30}; int n = sizeof(A) / sizeof(A[0]); quick_sort(A, 0, n-1); for(int i=0; i<n; i++){ printf("%d ", A[i]); } printf("\n"); return 0; } |
- Swap 함수
|
void swap(int A[], int a, int b) { int t = A[a]; A[a] = A[b]; A[b] = t; } |
- Quick 정렬
|
void quick_sort(int A[], int s, int e) { if(s<e){ int p = s, l = s+1, r = e; while(l<=r){ while(l<= e && A[l]<=A[p]) l++; while(r>=s+1 && A[r]>=A[p]) r--; if(l<r) swap(A, l, r); } swap(A, p, r); quick_sort(A, s, r-1); quick_sort(A, r+1, e); } } |
error: Content is protected !!