考虑这样一个算法,该算法对于待排序的数组中每一个 元素,统计小于它的元素个数,然后利用这个信息,将各个元素放到有序数组相应位置上去。
算法 ComparsionCountingSort(A[0..n-1])
//用比较计数对数组进行排序
//输入:可排序数组A[0..n-1]
//输出:数组S[0..n-1]A的元素在其中按照非降序排列
伪代码:
for i<-0 to n-1 do
Count[i]<-0
for i<-0 to n-2 do
for j<-i+1 to n-1 do
if A[i]<A[j]
Count[j]<-Count[j]+1
else
Count[i]<-Count[i]+1
for i<- to n-1 do
S[Count[i]]<-A[i]
return s