C語言實現氣泡排序

2021-10-08 15:46:48 字數 922 閱讀 9218

0.如果遇到相等的值不進行交換,那這種排序方式是穩定的排序方式。

1.原理:比較兩個相鄰的元素,將值大的元素交換到右邊

2.思路:依次比較相鄰的兩個數,將比較小的數放在前面,比較大的數放在後面。

(1)第一次比較:首先比較第一和第二個數,將小數放在前面,將大數放在後面。

(2)比較第2和第3個數,將小數 放在前面,大數放在後面。

(3)如此繼續,知道比較到最後的兩個數,將小數放在前面,大數放在後面,重複步驟,直至全部排序完成

(4)在上面一趟比較完成後,最後乙個數一定是陣列中最大的乙個數,所以在比較第二趟的時候,最後乙個數是不參加比較的。

(5)在第二趟比較完成後,倒數第二個數也一定是陣列中倒數第二大數,所以在第三趟的比較中,最後兩個數是不參與比較的。

(6)依次類推,每一趟比較次數減少依次

# include

intmain()

;int n;

//存放陣列a中元素的個數

int i;

//比較的輪數

int j;

//每輪比較的次數

int buf;

//交換資料時用於存放中間資料

n =sizeof

(a)/

sizeof

(a[0])

;/*a[0]是int型, 佔4位元組, 所以總的位元組數除以4等於元素的個數*/

for(i=

0; i

++i)

//比較n-1輪}}

氣泡排序 c語言實現

氣泡排序 排序思想 1.對於乙個長度為n的陣列,進行n 1次迴圈 2.第一次次迴圈中,先將1和2元素比較,如果元素1比元素2大,則交換其位置,接著比較元素2和元素3,以此類推,最終最大的元素排在最後一位 3.接著第二次迴圈,要排序的元素個數減少乙個 最大的已經放在最後一位 重複2的過程 4.這樣,每...

C語言實現氣泡排序

氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從...

氣泡排序(C語言實現)

直接上 注意理解注釋 define crt secure no warnings 1 include include void my swap int a,int b 交換的時候傳位址 通過這兩個位址去尋找對應變數 void bubblesort int arr,int size 傳陣列名及其大小 ...