标签:
冒泡排序
顾名思义,冒泡排序直观的意思是气泡越大冒的越快,对应到列表中就是数字最大的先选出来,然后依次进行。
例如 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
标签:
原文地址:http://www.cnblogs.com/Rambotien/p/5427447.html