冒泡排序
a = [4,2,5,1,3]
冒泡排序的规则是从第一位开始拿2位字符去对比,前字符大于后字符进行替换,小于则不替换,一直遍历到不替换为止。
根据上面 a 我们来进行模拟程序到底经历了什么
4与2进行对比,进行了替换
a = [2,4,5,1,3]
5与1进行对比 进行了替换
a = [2,4,1,5,3]
5与3进行对比 进行了替换
a = [2,4,1,3,5]
此时一轮对比结束,那么从头开始再去找是不是有需要替换的
2与4进行对比 无需替换
4与1进行了对比,进行了替换
a= [2,1,4,3,5]
4与3进行了对比,进行了替换
a = [2,1,3,4,5]
4与5进行了对比,无需替换
此时一轮对比结束,那么从头开始再去找是不是有需要替换的
2与1进行对比,进行了替换
a = [1,2,3,4,5]
上面我们描述出了冒泡的经历,那么我们拿这个概念去实现到代码中
sh = [4,2,5,1,3]
a = range(len(sh))[::-1]
for i in a:
for j in range(i):
if sh[j] > sh[j + 1]:
sh[j],sh[j+1] = sh[j+1],sh[j]
print(sh)