python實現桶排序演算法
阿新 • • 發佈:2019-01-01
前面我們講了桶排序演算法,現在我們用python程式碼來實踐一遍
#!/usr/bin/python # -*- coding: utf-8 -*- #桶排序 def bucket_sort(the_list): #設定全為0的陣列 all_list = [0 for i in range(100)] last_list = [] for v in the_list: all_list[v] = 1 if all_list[v]==0 else all_list[v]+1 for i,t_v in enumerate(all_list): if t_v != 0: for j in range(t_v): last_list.append(i) return last_list if __name__ == '__main__': the_list = [10, 1, 18, 30, 23, 12, 7, 5, 18, 17] print "排序前:" + str(the_list) print "排序後:" + str(bucket_sort(the_list))
結果
排序前:[10, 1, 18, 30, 23, 12, 7, 5, 18, 17]
排序後:[1, 5, 7, 10, 12, 17, 18, 18, 23, 30]
符合預期