資料結構01 氣泡排序

2021-08-19 16:47:20 字數 1019 閱讀 3359

在資料結構的演算法中,利用交換資料元素的位置進行排序的方法稱作為交換排序,而氣泡排序

就是常用的交換演算法之一。

【氣泡排序的基本思想】設陣列a中存放了n個資料元素,迴圈進行n-1趟如下的排序過程,從最後乙個元素開始比較,第一趟時,依次比較相鄰兩個資料元素 a[i] 和

a[i-1] ,若為逆序,即a[i-1] > a[i],則交換兩個資料元素,否則不交換,這樣數值大的資料元素將被放置在a[n-1]中;第二趟時,資料元素個數減1,即資料元素個數為n-1,操作方法和第1趟的類似,這樣整個n個資料元素集合中數值次大的資料元素將被放置在a[n-2]中;當第一趟結束時,整個n個資料元素集合中次小的資料元素將被放置在 a[1] 中,a[0] 中放置了最小的資料元素。

【舉個栗子】假設陣列a中元素為38、27、2、5

,則在第一趟中,先從陣列最後乙個數開始和其相鄰元素進行比較,即5和2進行比較,5比2大,不交換;然後2和27比較,2比27小,交換,陣列變成了38、2、27、5,這時候2再與38比較,2比38小,交換,陣列變成2、38、27、5,所以交換排序第一趟比較後陣列變為:

2、38、27、5

同理,在第二趟中,先從陣列最後乙個數開始和其相鄰元素進行比較,一直比較到倒數第二個。即5和27進行比較,5比27小,交換,陣列變成;2、38、5、27;然後5和38比較,5比38小,交換,陣列變成了2、5、38、27,所以交換排序第二趟比較後陣列變為:

2、5、38、27

在第三趟中,先從陣列最後乙個數開始和其相鄰元素進行比較。即27和38進行比較,27比38小,交換,陣列變成;2、5、27、38。所以交換排序第三趟比較後陣列變為:

2、5、27、38

可以看出,在乙個包含n個元素的陣列中,經過n-1趟氣泡排序便可實現

排序。**:

class bubblesort}}

}

資料結構 氣泡排序

起泡排序的過程很簡單。首先將第乙個記錄的關鍵字和第二個記錄的關鍵字進行比較,若為逆序,則將兩個記錄交換之,然後比較第二個記錄和第三個記錄的關鍵字。依次類推,直至第n 1個記錄和第n個記錄的關鍵字進行比較為止。上述過程稱作第一趟起泡排序,其結果使得關鍵字最大的記錄被安置到最後乙個記錄的位置上。然後進行...

資料結構 氣泡排序

氣泡排序演算法的基本思想是 假設待排序表長為n,從後往前 或從前往後 兩兩比較相鄰元素的值,若為逆序 即a i 1 a i 則交換它們,直到序列比較完。我們稱它為一趟冒泡,如果將最小的元素交換到待排序序列的第乙個位置 關鍵字小的元素往上 漂浮 這就是氣泡排序名字的由來 下一趟冒泡時,前一趟確定的最小...

資料結構 氣泡排序

目標效果 原始碼 include void print out int a,int n void bubble sort int a,int n int main printf 起泡排序 n printf 排序前 n printresult a,10 排序方法 bubblesort a,10 pri...