#-*-coding:UTF-8-*-
def countsort(A,k):
n = len(A)
B = []
result = [None for i in xrange(n)]
for i in range(k+1):
B.append(0)
for j in range(n):
B[A[j]]+=1
for q in range(1,k+1):
B[q]+=B[q-1]
for l in range(n-1,-1,-1):
result[B[A[l]]-1]=A[l]
B[A[l]]-=1
print result
A=[10,9,8,7,6,6,6,7,2,3]
countsort(A,10)
算法导论计数排序python实现
最新推荐文章于 2022-04-17 16:39:06 发布