一个时间效率为n的排序算法

  我们假定输入是个数组A[0...n],length[A]=n,另外,我们还需要两个数组:存放结果的B[1..n],以及提供临时存储的C[0...k].

 COUNT_SORT(A,B,k)

1.  for i=0 to k

2.      do C[i]=0

3.  for j=1 to length[A]

4,      do C[A[ j ]]=C[A[ j ]] + 1

5,  for i =1to k

6,      do C[i]=C[i] + C[i-1]

7, for j = length[A] downto 1

8,      do B[C[A[ j ]]] =A[j]

9,             C[A[ j ]] = C[A[ j ]] -1

你可能感兴趣的:(一个时间效率为n的排序算法)