資料結構 氣泡排序

2021-08-08 01:22:28 字數 656 閱讀 1618

目標效果:

原始碼:

#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);

printf("排序後:\n");

printresult(a,10);

}//排序方法

void bubblesort(int a,int n)

{ int i,j,flag; //flag=1的代表未完成,還需要繼續排序

for(i=0;i

在這個方法中,如果不使用開關變數flag,也可以遍歷,但是當i未遍歷完卻序列已經有序時,則不需要再繼續遍歷,當序列很大時,開關變數就很重要了。所以交換一次開關變數都改變值,j每次開始迴圈判斷一下,如過上一次迴圈開關變數沒有變,則break。如這個例子,使用開關變數可減少三次遍歷。

資料結構 氣泡排序

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

資料結構 氣泡排序

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

資料結構 氣泡排序

氣泡排序 氣泡排序的主要原理是兩兩比較,將較大者放在靠後的位置,用此種方法,將最大的值一點一點推到數列的後端。因此,對於乙個長為n的陣列,經過n 1遍冒泡,一定能將陣列排序。時間複雜度 設t n 為對長度為n的待排序列進行排序的時間。則比較次數為 n 1 n 2 1 n 1 n 2 o n 2 而且...