python---常见的排序算法--持续更新
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python---常见的排序算法--持续更新,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1743字,纯文字阅读大概需要3分钟。
内容图文
![python---常见的排序算法--持续更新](/upload/InfoBanner/zyjiaocheng/735/506820d2d3234586a011b6ae63cc12e5.jpg)
请参考动图:https://forum.mianbaoban.cn/data/attachment/forum/201803/20/140153i7562exzjrnagaja.gif
动图:https://blog.csdn.net/weixin_41571493/article/details/81875088
参考:https://www.cnblogs.com/zhizhan/p/4549099.html
1.冒泡排序
总结:冒泡排序,从第一个数开始,比较相邻两个数的大小,若第一个数比第二个数大,那么就交换他俩的位置,当我们完成一次冒泡排序时,最大的数已经出现在数组的最后一个位置上,南无我们重复执行这样的操作,将前边的大的数往后排。
def maopao(num_list):
n = len(num_list)
for i in range(n-1,0,-1): #防止出现索引超过列表限制的错误(使用倒序,从列表的n-1个数到第一个数,0不算)
for j in range(0,i):
if num_list[j] > num_list[j+1]:
num_list[j],num_list[j+1]=num_list[j+1],num_list[j]
return num_list
num1=[6,8,6,47,13,5,34,47]
print(maopao(num1))
2.选择排序
总结:规定一个已排序数列,在未排序数列中进行选举找到最小的,将最小的提取出来放在已排序数列的末尾,从而实现从小到大排序。
def choose(num_list):
n=len(num_list)
for i in range(0,n):
min = i #自定义一个最小的值
for j in range(i+1,n):
if num_list[j] < num_list[min]: #与未比较的数进行比较,循环找到最小的j的值,进行数值交换
num_list[min],num_list[j]=num_list[j],num_list[min]
return num_list
num1=[6,8,6,47,13,5,34,47]
print(choose(num1))
3.插入排序
总结:将第一个元素指定为已插入元素,取第二个数开始与他前边的数进行比较,若他比前边的数小,则前边的数后移一位,知道在前边的数中遇见比他还小的,则把它放在这个数后面。
def charu(num_list):
n = len(num_list)
for i in (1,n):
if num_list[i] < num_list[i-1]:
temp = num_list[i]
index = i
for j in (i-1,-1,-1):
if num_list[j] > temp: #若最小数的前边的数比他大,那么前边的数后移,最小数加到这个索引所在的位置
num_list[j+1]=num_list[j]
index = j
else:
break
num_list[index]=temp
return num_list
num1=[6,8,6,47,13,5,34,47]
print(charu(num1))
内容总结
以上是互联网集市为您收集整理的python---常见的排序算法--持续更新全部内容,希望文章能够帮你解决python---常见的排序算法--持续更新所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。