氣泡排序(英語:bubble sort)是一種簡單的排序演算法。它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。
氣泡排序演算法的運作如下:
交換過程圖示(第一次):
那麼我們需要進行n-1次冒泡過程,每次對應的比較次數如下圖所示:
#j表示每次遍歷需要比較的次數,是逐漸減小的
for i in
range(j):
if alist[i] > alist[i+1]:
alist[i], alist[i+1] = alist[i+1], alist[i]
li = [54,26,93,17,77,31,44,55,20]
bubble_sort(li)
print(li)
defbubble_sort(alist):
length =len(alist)
for j in range(1,length):
for i in range(length-j):
if alist[i]>alist[i+1]:
t =alist[i]
alist[i] = alist[i+1]
alist[i+1] =t
return
alist
if__name__ == '
__main__':
list_test = [1,9,4,8,20,14]
print(bubble_sort(list_test))
氣泡排序 排序 氣泡排序
既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...
排序查詢(42)
高階3 排序查詢 引入 select from employees 語法 select 查詢列表 from 表 where 篩選條件 order by 排序列表 aec desc 特點 1,asc代表的是公升序,desc代表降序 如果不寫,預設是公升序 2,order by 字句中可以支援單個字段,...
氣泡排序 氣泡排序法
冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...