def bubble_sort(nums):
for i in range(len(nums) - 1): # 這個迴圈負責設定氣泡排序進行的次數
for j in range(len(nums) - i - 1): # j為列表下標
print("比較:", j, ": ", (j+1))
if nums[j] > nums[j + 1]:
nums[j], nums[j + 1] = nums[j + 1], nums[j]
return nums
print(bubble_sort([45, 32, 8, 33, 12, 22, 19, 97]))
結果:
比較: 0 : 1
比較: 1 : 2
比較: 2 : 3
比較: 3 : 4
比較: 4 : 5
比較: 5 : 6
比較: 6 : 7
比較: 0 : 1
比較: 1 : 2
比較: 2 : 3
比較: 3 : 4
比較: 4 : 5
比較: 5 : 6
比較: 0 : 1
比較: 1 : 2
比較: 2 : 3
比較: 3 : 4
比較: 4 : 5
比較: 0 : 1
比較: 1 : 2
比較: 2 : 3
比較: 3 : 4
比較: 0 : 1
比較: 1 : 2
比較: 2 : 3
比較: 0 : 1
比較: 1 : 2
比較: 0 : 1
[8, 12, 19, 22, 32, 33, 45, 97]
結論:
看列印結果,一目了然,不斷比較相鄰兩個數,每一輪比較結束都可以確定當前的最後乙個數,直到最後一輪確定了第乙個數為止
氣泡排序實現原理
原理 比較兩個相鄰的元素,將值大的元素交換至右端。思路 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一趟步驟,直至全部排序完...
氣泡排序實現原理
原理 比較兩個相鄰的元素,將值大的元素交換至右端。思路 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一趟步驟,直至全部排序完...
氣泡排序原理及實現
氣泡排序就是每次將重的泡泡下沉,輕的泡泡上浮。通過一次次反覆的操作,實現排序目的。下面看一下冒泡的實現 public class test bubblesort data for int i 0 isystem.out.print data i private static void bubbles...