首先介紹氣泡排序演算法:重複地遍歷要排序的數列,一次比較兩個元素,如果他們順序錯誤就交換(從小到大)。
演算法流程:
1.比較相鄰的元素,如果第乙個比第二個大,交換兩者。
2.對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。這步做完,最後的元素是最大元素。
3.針對所有元素重複以上步驟,除了最後乙個。
4.持續每次對越來越少的元素重複上面的步驟,直到排序完成。
python程式實現:
def bubble_sort(alist):
"""氣泡排序,第乙個數與第二個數比較大小,將較大的數放在第二位,
然後將第二個數與第三個數進行比較,將較大數放在第三位,依次類推"""
i=0j=1
n=0while nalist[j]:
b=alist[i]
alist[i]=alist[j]
alist[j]=b
i+=1
j+=1
else:
i+=1
j+=1
n+=1
i=0j=1
return alist
print(bubble_sort([25,80,72,64,39]))
氣泡排序 c語言實現
氣泡排序 排序思想 1.對於乙個長度為n的陣列,進行n 1次迴圈 2.第一次次迴圈中,先將1和2元素比較,如果元素1比元素2大,則交換其位置,接著比較元素2和元素3,以此類推,最終最大的元素排在最後一位 3.接著第二次迴圈,要排序的元素個數減少乙個 最大的已經放在最後一位 重複2的過程 4.這樣,每...
C語言實現氣泡排序
氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從...
Golang語言實現氣泡排序
氣泡排序就是每次內層迴圈找出最大的值,並放在切片的最右邊,找最大值的方式 從下標為零的開始比較 下標為0與下標為1的大小,比它前面 i 1 的大就跟前面的交換,直到最大的到最右邊即就是 等於end package main import fmt func main bubblesort s1 fmt...