我是靠谱客的博主 土豪百合,最近开发中收集的这篇文章主要介绍常见排序算法_计数排序(Python3.6版)(count_sort)计数排序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

计数排序

前言:其它类似文章可搜索-微信公众号-程序员小灰(不是我,是一个幽默,厉害的大佬),这篇文章只是我的学习成果记录。

漫画:什么是计数排序

暂时需要3个方法协助完成整个排序过程(当然你可能全部写在一个方法里面,博主强迫症)。

tips:如果用Python编程,博主个人建议把方法描述写在函数中,这样方便别人调用Python内置的help()方法查看您的方法描述。

直接上代码:

countList = []


def createCountList(needSortList):
    '根据需要排序的列表长度生成计数列表'
    for i in range(len(needSortList)):
        #计数列表最开始的元素全部为0
        countList.append(0)


def countElement(needSortList):
    '统计需要排序的列表的每一个元素出现的个数'
    for i in range(len(needSortList)):
        #计数列表的下标值等于需要排序的列表的元素值
        countList[needSortList[i]] += 1


def countSort(needSortList):
    '统计排序算法'
    for i in range(len(countList)):
        #根据需要排序的列表的每个元素出现的个数打印,相当于把需要排序的列表中相同的元素打包成一个组
        #其中,每个组(相同的元素)都在计数列表中按照[0-len]的顺序排好了
        for j in range(countList[i]):
            #end = ' '表示不换行,追加一个空格(具体查看菜鸟教程-Python3-输入与输出)
            print(i, end = ' ')


#依次运行三个程序
#假设一个需要排序的列表
needSortList = [1,3,3,2,0,0,6,6]

createCountList(needSortList)
#此时countList = [0,0,0,0,0,0,0,0]
countElement(needSortList)
#此时countList = [2,1,1,2,0,0,2,0]
countSort(needSortList)
#列表完成排序

打印结果:

#打印结果
0 0 1 2 3 3 6 6

 

最后

以上就是土豪百合为你收集整理的常见排序算法_计数排序(Python3.6版)(count_sort)计数排序的全部内容,希望文章能够帮你解决常见排序算法_计数排序(Python3.6版)(count_sort)计数排序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部