十大經典排序演算法之 一 氣泡排序

2021-10-06 13:01:18 字數 1380 閱讀 6189

每回比較都得到乙個最大值,因此內迴圈的限制條件應該是j

c**:

void

bubblesort

(int arr,

int len)}}

}

python**:

def

bubblesort

(arr)

:for i in

range(1

,len

(arr)):

for j in

range(0

,len

(arr)

-i):

if arr[j]

>arr[j+1]

: arr[j]

, arr[j+1]

= arr[j+1]

, arr[j]

return arr

/**

* 邊界條件:

* 1) 判斷陣列是否有資料

* 演算法思路:

* 1)外迴圈 for 需要 n-1 個資料 n-1 次冒泡

* 2)內迴圈每次冒泡的比較次數,每冒泡比較次數都 -1

* 3)冒泡優化

*/void

bubblesort

(int arr,

int len)}if

(flag==0)

//若第一趟發現原陣列沒有需要交換的,證明是有序的,之後的幾趟排序就不需要了

break;}

}

c++**:

void

bubblesort

(int arr,

int len)}}

}

python**:

def

bubblesort

(arr)

:for i in

range

(len

(arr)-1

,0,-

1):for j in

range(0

, i):

if arr[j]

>arr[j+1]

: arr[j]

, arr[j+1]

= arr[j+1]

, arr[j]

return arr

十大經典排序演算法 氣泡排序

一 演算法複雜度 二 演算法流程 1 遍歷每個資料,對每個資料和其後的資料進行比較,如果第乙個較大進行交換,相當於把最大值放到最後 2 每次排序會去除掉最後乙個最大的值,再將前面部分進行排序一次 三 實現 def swap arr,i,j tmp arr i arr i arr j arr j tm...

十大經典排序演算法 氣泡排序

氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。usr b...

十大經典排序之氣泡排序

氣泡排序 氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序 如從大到小 首字母從a到z 錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。這個演算法的名...