冒泡算法:说白了就是通过循环来把相邻的两个数字进行对比,对比过后进行调换
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)