当前位置: 首页 > 图灵资讯 > 行业资讯> python计数排序法是什么

python计数排序法是什么

来源:图灵python
时间: 2024-07-25 20:27:09

概念

1、计数排序的主要思想是将待排序数据值转换为键,并存储在额外开放的数组空间中。

2、计数排序要求输入的数据必须是具有一定范围的整数,因此计数排序法适用于大范围小的数据。

实例

defcount_sort(data,maxValue):#定义计数排序,data是列表数据,maxValue表示值
bucket_len=maxValue+1#定义桶的长度值加1,桶号从0开始
bucket=[0]*bucket_len#初始化桶
count=0#计数个数
arr_len=len(data)#列表长度
foriinrange(arr_len):#遍历列表
ifnotbucket[data[i]]:#列表数据不是桶号
bucket[data[i]]=0#此时,从0开始,将列表数据作为桶号
bucket[data[i]]+=1#桶号依次加1
forjinrange(bucket_len):#遍历桶
whilebucket[j]>0:#将列表数据放在相应的桶号内
data[count]=j
count+=1#计数个数加1
bucket[j]-=1#个数减一,下一个相同的元素向前排列
returndata#返回排序后的列表


data=[1,2,4,1,3,5,2,7,4]
print("排序前列表数据:")
foriinrange(11):
print("%2d"%data[i],end="")
print()
data2=count_sort(data,7)#调用计数排序函数
print("排序后列表数据:")
forjinrange(11):
print("%2d"%data2[j],end="")

以上是python计数排序法的介绍,希望对大家有所帮助。更多Python学习指南:python基础教程

本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。