Python编程题19--算法-冒泡排序

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

 

 

def bubble_pop(s):
n=len(s)
for i in range(n-1):
for j in range(n-1-i):
if s[j]>s[j+1]:
s[j],s[j+1]=s[j+1],s[j]


if __name__ == '__main__':
arr = [54, 26, 93, 17, 77, 31, 44, 55, 20]
bubble_pop(arr)
print(arr)

 

而因为冒泡排序法 最后一个肯定已经知道大小 所以只需要排序到倒数第二个就可以了 这边只需要到n-1就可以

 因为第一次轮训就已经轮训过 i 前面的内容了 所以不需要再继续轮训一次 i  为了减少复杂度 这边轮序只需要到 n-1-i

 

 

 

 

 

posted @ 2021-11-18 20:58  陈晓猛  阅读(160)  评论(0编辑  收藏  举报