def countingsort(A,k): C=[] j=0 B=A[:] for j in range(0,k): C.append(0) for j in range(0,len(A)): C[A[j]]=C[A[j]]+1 for j in range(1,k): C[j]=C[j]+C[j-1] for j in range (len(A)-1,-1,-1): B[C[A[j]]-1]=A[j] C[A[j]]=C[A[j]]-1 return B
计数排序在一些特定条件(要求序列元素都是整数,且元素的最大值不能大于序列的长度)下使用, 时间复杂度 是 n
具有稳定性(等值的顺序就是输入的先后顺序)