z天赐

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

冒泡排序

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)

 

posted on 2021-02-28 21:16  z天赐  阅读(81)  评论(0编辑  收藏  举报