一、算法思想
基本思想:对于数组中的每个数,统计在数组中小于它的元素个数,即确定其在排好序后的数组中的次序。
二、伪代码描述
COUNTTING-SORT( A, B, k )
let C[0...k] be a new array
for i = 0 to k
C[i] = 0;
for j = 1 to A.length
C[A[j]] = C[A[j]] + 1
// C[i] now contains the number of elements equal to i
for i = 1 to k
C[i] = C[i] + C[i-1]
// C[i] now contains the number of elements less than or equal to i
for j = A.length to 1
B[C[A[j]]] = A[j]
C[A[j]] = C[A[j]]-1</span>
三、时间复杂度
复杂度:O(k+n)