码迷,mamicode.com
首页 > 编程语言 > 详细

Python实现几种简单的排序算法

时间:2018-11-16 15:54:53      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:简单的   nbsp   代码实现   循环   列表   直接   for   除了   color   

一.冒泡排序

概念:为一个无序的列表排成有序的

实现过程描述:(升序)

  1.比较相邻的元素,如果第一个比第二个大,就交换他们的位置

  2.对每一对相邻元素重复1的工作,从开始第一队到最后一对,最后结束的时候最大的数会在后面

  3.针对所有元素重复1,2的工作,除了最后一个数,因为最后的数最大,省略这个过程

  4.持续每次对越来越少的元素重复上面的步骤,知道没有任何一对数字需要比较

复杂度: 时间复杂度为O(n^2)

代码实现:

  

#给定一个列表

list  = [11,54,3243,323,3,82,121,33,4,5,7,213,51]

#冒泡排序
for i in range(1,len(list)):
    found =False    #定义一个变量为False
    for n in range(len(list)-i):
        if list[n]>list[n+1]:
            #当出现逆序交换下表n和n+1的位置
            temp = list[n]
            list[n] = list[n+1]
            list[n+1] = temp
            found =True #当出现逆序时,改变变量值为True    如果未发现逆序则表示排序已经完成
    if not found:#当found值为False,直接跳出循环
        break
print(list)

 

未完待续

 

Python实现几种简单的排序算法

标签:简单的   nbsp   代码实现   循环   列表   直接   for   除了   color   

原文地址:https://www.cnblogs.com/lyxdw/p/9969638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!