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 65 66 67 68 69 70 71 72 | #include <QCoreApplication> #include <QDebug> #include <iostream> #include "kh_01.hpp" using namespace std; int a[100]; void swap(int* a , int* b){ const int temp = *a; *a = *b; *b = temp; } //반은 (스타트 + last ) / 2 void con_ai6(int *sus){ for(int i = 0 ; i < 10 ; i++){ cout << sus[i] <<" "; } cout << endl; } void countingSort(int* sus, int start , int last){ int table[1000] = {0 , }; int index = 0; for(int i = start ; i < last + 1 ; ++i){ table[sus[i]]++; } for(int i = 0 ; i < 1000 ; i++){ while(table[i]-- > 0){ sus[index++] = i; } } } int main(int argc, char *argv[]) { int sus[10] = {10, 11, 9, 8 , 7 , 6 ,5, 4, 2, 3}; countingSort(sus, 0 , 9); con_ai6(sus); cout << "end main " << endl; return 0; } | cs |
'Data Structure And Algorithm' 카테고리의 다른 글
퀵 소트 구현 (0) | 2019.03.31 |
---|---|
연결 리스트 (0) | 2019.03.30 |