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

Python冒泡排序

时间:2016-05-02 22:47:48      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

冒泡排序  

  顾名思义,冒泡排序直观的意思是气泡越大冒的越快,对应到列表中就是数字最大的先选出来,然后依次进行。

  例如 myList = [1,4,5,0,6] ,比较方式为:相邻的两个数字先进行比较,也就是myList[0]和myList[1],发现不是">"的关系,就继续比较myList[1]和myList[2]。。。依次进行,发现myList[2] > myList[3] (即5>0),就进行交换,所以走完第一次全列表比较得到新列表[1,4,0,5,6],然后每一次扫描得到的新列表如下:

  第一次:[1,4,0,5,6]

  第二次:[1,0,4,5,6]

  第三次:[0,1,4,5,6]

  第四次:[1,4,5,0,6]

  》》》示例: data = [10,4,33,21,54,3,8,11,5,22,2,1,17,13,6]   将data进行冒泡排序

  1、for循环  

第一种:
data = [10,4,33,21,54,3,8,11,5,22,2,1,17,13,6]

count = 0
for j in range(len(data)):          #外层循环15次
    for i in range(len(data)-1):    #内层循环14次
        if data[i] > data[i+1]:
            tmp = data[i+1]
            data[i+1] = data[i]
            data[i] = tmp
        count += 1
print(data)
print("count:",count)


#result:
[1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 17, 21, 22, 33, 54]
count: 210


第二种:
data = [10,4,33,21,54,3,8,11,5,22,2,1,17,13,6]

count = 0
for j in range(1,len(data)):        
    for i in range(len(data)-j):    
        if data[i] > data[i+1]:
            tmp = data[i+1]
            data[i+1] = data[i]
            data[i] = tmp
        count += 1
print(data)
print("count:",count)


#result:
[1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 17, 21, 22, 33, 54]
count: 105

  

  

Python冒泡排序

标签:

原文地址:http://www.cnblogs.com/Rambotien/p/5427447.html

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