Pythonバケツソート
740 ワード
#!/usr/bin/env python
# coding:utf-8
'''
。 。
( 、 , )。
'''
import random
def bucketSort(lst):
buckets = [0] * ((max(lst) - min(lst))+1)
for i in range(len(lst)):
# i , i+min(lst)
#lst[i]-min(lst)=i
buckets[lst[i]-min(lst)] += 1
res=[]
for i in range(len(buckets)):
if buckets[i] != 0:
# i , i+min(lst)
#lst[i]-min(lst)=i
res += [i+min(lst)]*buckets[i]
return res
nums = [random.randint(-50,100) for i in xrange(20)]
print nums
print bucketSort(nums)