python實現氣泡排序 原理解析

2021-09-21 18:43:12 字數 999 閱讀 1647

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...