QQ:3020889729 小蔡
特别声明
本文采用jupyter notebook演示,请注意移植代码的整合问题。
排序优点
序号
优点
1
时间和内存使用良好,排序效果好。(在小数据排序时,冒泡可以替换)
2
是一种二分思想的体现,是二分堆排序学习的引导
算法思想
1.从一段需要排序的数据中选出基数
2.然后从两边开始按指定规则检测:从左到右为检测比基数(4)大的数,然后停下;从右到左为检测比基数(4)小的数,然后停下。将这两个交换后,继续检测操作——知道左右检测到同一个元素时,将基数与该元素交换,即完成一轮元素快排。
3.从以上图示可知,最终排序的数据会变成一个个确定的基数,进而完成排序。(算法实现采用递归完成,破除条件就是,左检测的下标等于右检测下标(不允许左检测大于右检测))
代码实现
处理输入数据
# 不定长数据排序
a = input("请输入待排序数据:").split(' ')
a = [int(x) for x in a] # 数据类型转换
n = len(a) # 数据长度
结果展示: