python資料結構學習(氣泡排序)

2021-10-25 10:17:33 字數 626 閱讀 6664

簡單的試一試氣泡排序

氣泡排序為相鄰的兩個元素進行比較,如果順序錯誤則進行交換。

data=[9

,29,2

,4,13

,567,23

,532

,123,34

]for i in

range

(len

(data)-1

):for j in

range

(len

(data)

-i-1):

#-1防止發生範圍溢位情況

if data[j]

>data[j+1]

: x=data[j]

data[j]

=data[j+1]

data[j+1]

=x # print(data)

這裡i的範圍選擇為len(data)-1是因為最後一次遍歷時候僅剩乙個數,無需進行比較,所以可以跳過。j的範圍選擇為len(data)-iu-1是因為每次遍歷後最後乙個數總是最大的數,即為已經冒泡上去的最大泡泡,所以不用再次進行排序比較操作,可節約時間,-1是為了防止當j到最後乙個數時後面沒有可以比較的數字,產生範圍溢位錯誤。

資料結構學習(冒泡 選擇 插入 快速排

coding utf 8 資料結構排序 函式氣泡排序 引數alist 被排序的列表 def bubblesort alist for num in range len alist 1,0,1 for i in range num if alist i alist i 1 進行當前位置和下乙個位置的交...

資料結構學習 氣泡排序

演算法描述 氣泡排序的思想是在每趟交換的過程,比較相鄰的兩個元素,將值大的放在右邊,即將當前比較過程中的最大值移動到右邊,然後將比較過程的最大索引減1,繼續第二趟排序,將剩餘元素中的最大值移動到右邊,依次類推,直到發現有一趟比較過程中沒有發生交換,則說明陣列已經排好序了。演算法時間複雜度 最好情況 ...

資料結構學習(七) 氣泡排序

int arr 第一趟排序,將最大的數排在最後 int temp 0 for int i 0 i arr.length 1 i system.out.println 第 i 1 趟排序後的陣列 system.out.println arrays.tostring arr 第一趟排序,將最大的數排在最...