代码实现:
错误示范! arr.append(0)缩进不对!
for i in range(size-1,-1,-1): 表示从列表的size-1位置开始,倒序取元素,取到下标为-1,但是不包括这个元素,也就是说倒过来从size-1取到0
Python作为一种高级开发语言,在编程时无需关注底层细节(如内存管理等)!
#!/usr/bin/python
#_*_ coding: UTF-8 -*-
def Countsort(array):
size=len(array)
arr=[]
count=[]
for i in range(0,100):
count.append(0)
for i in range(0,size):
count[array[i]]=count[array[i]]+1
arr.append(0)
for i in range(0,100):
count[i]=count[i-1]+count[i]
for i in range(size-1,-1,-1):
arr[count[array[i]]-1]=array[i]
count[array[i]]=count[array[i]]-1
return arr
array=[1,5,3,4,2,9]
print array
array=Countsort(array)
print array