#coding:utf-8
#bucketSort
def bucketSort(L,length):
buckets = [[] for i in range(10)]
for i in range(length):
for item in L:
num = item / (10 ** i) % 10
(buckets[num]).append(item)
L[:] = []
for item in buckets:
if len(item):
L.extend(item)
buckets = [[] for i in range(10)]
if __name__ == '__main__':
L = [12,51,23,46,135,64,126,85]
bucketSort(L, 3)
print L
结果
>>>
[12, 23, 46, 51, 64, 85, 126, 135]