首页 > 编程语言 > 详细

排序算法

时间:2019-04-19 14:43:06      阅读:115      评论:0      收藏:0      [点我收藏+]
冒泡排序

  理解为班长给班上的同学们按照身高排队。选出第一个人,和第二个做比较,如果第一个大,那就把第一个人往前提,如果不是,则不改变位置。选择第二个和第三个人比较,如果第二个大,那就把第二个和第三个交换位置。再把换过位置的第三个同学和第四个同学对比,如果还是大,就把他放到第四个同学的位置上,以此类推。

  最后一个人到队尾的时候,再次选择第一个同学和第二个同学做对比,做同样的操作。直到选出第二高的同学。示意图如下:

  在这个基础上,我们继续做修改,我们可以考虑,如果历遍了一次之后,发现一次交换都没有发生,说明数组已经是有序的了。所以我们可以将代码修改为实例2。

技术分享图片

代码1:
def
bubble_sort(list): for j in range(len(list)-1): for i in range(len(list)-j-1): if list[i]>list[i+1]: list[i],list[i+1]=list[i+1],list[i] return list

代码2:
def bubble_sort(list):
for j in range(len(list)-1):
count=0
for i in range(len(list)-j-1):
if list[i]>list[i+1]:
list[i],list[i+1]=list[i+1],list[i]
count+=1
if count==0:
return list
return list
选择排序

将数据分为两部分。前面部分有序,后面部分无序。前面由小到大。然后操作时选择一个容器,先选择第一个数值装进容器,然后依次与后面的值对比,如果容器中的值更大,则做交换,直到将所有的遍历。

 

插入排序

 

排序算法

原文:https://www.cnblogs.com/hungereveryday/p/10735317.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!