1.演算法描述:
(1)共迴圈 n-1 次
(2)每次迴圈中,如果 前面的數大於後面的數,就交換
(3)設定乙個標籤,如果上次沒有交換,就說明這個是已經好了的。
2.**
#!/usr/bin/python
#-*- coding: utf-8 -*-
defbubble(l):
flag =true
for i in range(len(l)-1, 0, -1):
if flag:
flag =false
for j in
range(i):
if l[j] > l[j + 1]:
l[j], l[j+1] = l[j+1], l[j]
flag =true
else
:
break
lli = [21,44,2,45,33,4,3,67]
bubble(li)
結果:[2, 3, 4, 21, 33, 44, 45, 67]
3.時間複雜度:n(n-1)/2
Python實現氣泡排序演算法
第一天學習python寫的程式,函式和控制語句沒有括號總感覺有頭沒尾怪怪的,寫長了會不會連語句在什麼控制流裡都搞蒙了呢?coding utf 8 氣泡排序演算法 def bubble sort list,n exchange n 1 while exchange 0 bound exchange e...
python實現冒泡演算法排序
第一篇部落格就以冒泡演算法作為先行者吧。冒泡演算法通俗一點的理解就是兩個數值進行比較,它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成,就像小魚吐泡泡一樣。氣泡排序演算法具體的步驟大致為 降序為例...
python實現氣泡排序演算法
氣泡排序,乙個經典的排序演算法,因在演算法執行中,極值會像水底的氣泡一樣逐漸冒出來,因此而得名。氣泡排序的過程是比較兩個相鄰元素的大小,然後根據大小交換位置,這樣從列表左端開始冒泡,最後最大值會依次從右端冒出。python實現氣泡排序 def bubble sort nums for i in ra...