比較相鄰的兩個元素,若前乙個大於後乙個則交換;對每一對相鄰元素進行比較,直至最後一對元素。重複上述步驟,知道排序完成。這為向上冒泡。向下冒泡同理。
(1)向上冒泡
m = input().split()
n = [int(m[i]) for i in range(len(m))]#輸入的陣列
for i in range(len(n)-1):
for j in range(len(n)-1-i):
if (n[j]>n[j+1]):
n[j],n[j+1]=n[j+1],n[j]
比較相鄰的兩個元素,若前乙個小於後乙個則交換;對每一對相鄰元素進行比較,直至最後一對元素。重複上述步驟,知道排序完成。這為向下冒泡。
(2)向下冒泡
for i in range(len(a)-1):
for j in range(len(a)-1-i):
if int(a[j])a[j],a[j+1] = a[j+1],a[j]
Python排序演算法之氣泡排序
顧名思義,氣泡排序直觀的意思是氣泡越大冒的越快 對應到我們的列表中就是數字最大的先選出來,然後依次進行。例如 mylist 1,4,5,0,6 比較方式為 相鄰的兩個數字先進行比較,也就是mylist 0 和mylist 1 發現不是 的關係,就繼續比較mylist 1 和mylist 2 依次進行...
排序演算法之python氣泡排序
氣泡排序是一種交換排序 比較相鄰的連個關鍵字,把大的往後放,小的就向前移動,即冒泡 def bubblesort input list 如果待排序列為空,則直接返回空列表 if len input list 0 return sorted list input list for i in range...
Python排序演算法之氣泡排序
比較列表相鄰的兩個值,如果前面比後面大,則交換這兩個值。每一趟氣泡排序,無序區減少乙個數,有序區增加乙個數。最壞情況 o n 2n 2 n2 平均情況 o n 2n 2 n2 最好情況 o n o 1 穩定 簡單 趟數 n 1 無序區範圍 0 n 趟數 1 在一趟氣泡排序完成後,如果沒有發生任何的交...