[Algorithm] Counting Sort
Updated:
- counting 배열을 생성
- 정렬하고자 하는 배열을 순회하여 couting 배열의 해당하는 index에 1씩 증가
- counting 배열 순회하며 0이 아닌 index를 counting 수만큼 출력
Implementation
for (int i = 0; i < SIZE; ++i) {
countingArr[arr[i]]++;
}
int arrSize = 0;
for (int i = 1; i < SIZE + 1; ++i) {
if (countingArr[i] == 0) continue;
int cnt = countingArr[i];
while (cnt--) {
arr[arrSize++] = i;
}
}
- Time Complexity : O(n)
C++ 코드
ref :
계수정렬
Leave a comment