STL 을 사용하지 않고 퀵소트를 구한하였다.
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 | #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int N; int arr[1000001]; void _qsort(int l, int r){ int pivot = arr[(l + r) / 2]; int i = l; int j = r; while(i <= j){ while(arr[i] < pivot) i++; while(arr[j] > pivot) j--; if(i <= j){ int t = arr[i]; arr[i] = arr[j]; arr[j] = t; i++; j--; } } if(l < j) _qsort(l, j); if(i < r) _qsort(i, r); } int main(void){ scanf("%d", &N); for(int i = 0 ; i < N; i++){ scanf("%d", arr + i); } //sort(arr, arr + N); _qsort(0, N - 1); for(int i = 0 ; i < N; i++){ printf("%d\n", arr[i]); } } | cs |
'알고리즘' 카테고리의 다른 글
백준(BOJ) 2442 별찍기-5 (0) | 2018.11.26 |
---|---|
백준(BOJ) 1026 보물 (0) | 2018.11.26 |
백준(BOJ) 2309 일곱 난쟁이 (0) | 2018.11.26 |
백준(BOJ) 2609 최대공약수와 최소공배수 (0) | 2018.11.26 |
백준(BOJ) 10845 (0) | 2018.11.26 |