資料結構 氣泡排序

2021-08-20 22:42:31 字數 786 閱讀 7688

氣泡排序:也叫作起泡排序

對於n個資料,進行n-1次冒泡,每一次冒泡將最大的或者最小的放到序列的第n個,然後在進行下一次冒泡,下次冒泡將前n-1個資料的最小的,放到n-1的位置上,一次冒泡,知道n-1結束,那麼該序列也就有有序了。

例:比如對乙個陣列含有八個元素分別為:2    5    4    6    9    7    1    8    對其進行排序

則排序的流程為:第一趟:從2向後兩兩進行比較,將兩者中大的放在後面,直到比到最後一位,

最後將9放到最後面,變為    2    4    5    6    7    1    8,對其六個數字比較了5次

第二趟:從2後面兩兩進行比較,直到比到倒數第二位,即9的前一位,因為就已經確定是最大的了,就不需要在進行比較了,只需要比較4次,這是對於五個數字

然後依次這樣後面進行比較即可,直到比較到只剩下第一位了,那就不需要再進行比較了,這個時候序列已經有序了。

規律:對於n個資料,要比較n-1趟,而對於每一趟,比較n-i-1次,i表示第幾趟,i從零開始

**如下:

1.基礎版(沒有進行任何優化)

void bubble_sort(int arr, int sz)

} }}

2.高階版(對氣泡排序進行了優化)

//增加了表示對於氣泡排序,如果有一次沒有對序列進行元素交換,那麼就說明序列已經有序,那就不需要再進行排序了

void bubble_sort_op(int arr, int sz)

} }}

資料結構 氣泡排序

起泡排序的過程很簡單。首先將第乙個記錄的關鍵字和第二個記錄的關鍵字進行比較,若為逆序,則將兩個記錄交換之,然後比較第二個記錄和第三個記錄的關鍵字。依次類推,直至第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...