Notice
Recent Posts
Recent Comments
:: ADVANCE ::
[Quick Sort] 퀵 정렬 본문
반응형
[Quick Sort] 퀵 정렬
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | #include <stdio.h> int count; void print(int *data, int size) { int i; for (i = 0; i < size; i++) { printf("%d ", data[i]); } printf("\n"); } void swap(int *first, int *second) { int temp; temp = *first; *first = *second; *second = temp; } void quicksort(int *data, int start, int end) { int temp; int pivot = end; int left = start; int right = end; while (right > left) { while (data[left] < data[pivot] && left < right) { left++; } while (data[right] >= data[pivot] && left < right) { right--; } if (left == right) { swap(&data[left], &data[pivot]); pivot = left; } else { swap(&data[left], &data[right]); } } if (pivot > start) { quicksort(data, start, pivot - 1); } if (end > pivot) { quicksort(data, pivot + 1, end); } } int main(void) { int n, i; int input[100]; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &input[i]); } quicksort(input, 0, n - 1); print(input, n); return 0; } | cs |
[참고] https://ko.wikipedia.org/wiki/%ED%80%B5_%EC%A0%95%EB%A0%AC
[참고] http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=66
반응형
'Algorithm > Algorithm' 카테고리의 다른 글
[Binary Search] 이진 탐색 (0) | 2016.06.24 |
---|---|
[Algorithm][math] 소수, 에라토스테네스의 체 (0) | 2016.05.24 |
[Floyd] 플로이드 알고리즘 (0) | 2015.10.17 |
[Heap Sort] 힙 정렬 (0) | 2015.07.16 |
[DFS] 깊이 우선 탐색 (Depth First Search) (0) | 2015.01.04 |
Comments