4 2氣泡排序

2022-08-29 20:15:13 字數 1090 閱讀 3923

氣泡排序(英語: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)

def

bubble_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個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...