当前位置 : 主页 > 编程语言 > python >

排序算法python版(7)-计数排序算法

来源:互联网 收集:自由互联 发布时间:2022-08-10
计数排序算法动态图 计数排序算法的原理 计数排序算法原理其实挺简单的,就是首先找出一串数的最小值和最大值,然后将在这个区间的所有整数均统计在给定的数列中出现了次数,


  • 计数排序算法动态图
  • 排序算法python版(7)-计数排序算法_最小值

  • 计数排序算法的原理
    计数排序算法原理其实挺简单的,就是首先找出一串数的最小值和最大值,然后将在这个区间的所有整数均统计在给定的数列中出现了次数,然后从最小值开始到最大值,按照出现次数重新存放,即完成排序

代码如下:

def count_sort(data):
min_v=data[0]
max_v=data[0]
for elem in data:
if elem<min_v:
min_v=elem
if elem>max_v:
max_v=elem

index_to_num={}
for elem in data:
if elem not in index_to_num.keys():
index_to_num[elem]=1
else:
index_to_num[elem]+=1

result=[]
for i in range(min_v,max_v+1):
if i in index_to_num.keys():
for j in range(index_to_num[i]):
result.append(i)
return result

if __name__=="__main__":
data=[10,9,8,7,6,5,4,3,2,1,0]
data=count_sort(data)
print("经计数排序后结果:",data)

执行结果如下:

经计数排序后结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


上一篇:排序算法python版(1)-冒泡排序算法
下一篇:没有了
网友评论