冒泡算法
冒泡算法:说白了就是通过循环来把相邻的两个数字进行对比,对比过后进行调换
l = [2,5,12,352,1,23,35,63,5,2] # for i in range(len(l)-1): #这个是控制总共需要多少趟,需要循环N-1趟 for j in range(len(l)-1-i): #这个循环是控制交换的,减1是最后一位不用对比,下面2就没有了,没有【j+1】的下标,减i是每次循环都会有一位是排序好了,可以少循环一次 if l[j] > l[j+1]: #相邻的对比 l[j],l[j+1] = l[j+1],l[j] #相邻的交换 print(l) 结果:[1, 2, 2, 5, 5, 12, 23, 35, 63, 352]
#【优化版】 count = 1 num = [30, 66, 70, 57, 83, 68, 55, 34, 18, 23, 19, 13, 37, 2, 88, 24, 89, 71, 46, 98] for i in range(len(num)-1): for j in range(len(num)-1-i): if num[j+1] > num[j]: num[j],num[j+1] = num[j],num[j+1] else: num[j],num[j+1] = num[j+1],num[j] count+=1 print(num) print(count)
本文来自博客园,作者:他还在坚持嘛,转载请注明原文链接:他还在坚持嘛 https://www.cnblogs.com/brf-test/p/12822549.html