氣泡排序 c 實現

2021-09-22 21:33:33 字數 726 閱讀 9981

#冒泡的演算法介紹

以公升序排列為例來說,大的數字不斷向後排,就像煮沸的水中的氣泡一直往上公升一樣。

冒泡演算法它是通過不斷比較相鄰兩數的大小來將最大的數字排列到最後的。

例如 4 2 3 1

4和1相比,4大就和2交換位置

變成2 4 3 1

j++4和3比較,4大就和3交換位置

變成 2 3 4 1

j++4和1比較,4大就和1交換位置

變成2 3 1 4

j++此時i=0的外層迴圈結束,進行i=1的迴圈

內層迴圈總是從j=0開始故

2和3比較,不用交換位置

j++3和1比較,3比1大交換位置

變成 2 1 3 4

j++此時大家應該可以發現,4是第一次比較完所有數得出的最大值,那還需要浪費時間比較嗎?很明顯不用再比較了,那麼大家就可以理解一下內層迴圈j < len-1-i的意義了,每次len-i就是排除已經排好的數。至於為什麼多-1呢?因為假如len是5,j<5,那麼arr[4]using namespace std;

void bubblesort(int arr, int len)

} }}int main()

; bubblesort(arr, 10);

for (int i = 0; i < 10; ++i)

cout << endl;

system("pause");

return 0;

}

C 實現氣泡排序

include using namespace std define array size 8 the array size int main cout show the array void myshow int a,int length for unsigned int i 0 i執行結果 演算...

c 實現氣泡排序

氣泡排序 依次比較相鄰的資料,將小資料放在前,大資料放在後 即第一趟先比較第1個和第2個數,大數在後,小數在前,再比較第2個數與第3個數,大數在後,小數在前,以此類推則將最大的數 滾動 到最後乙個位置 第二趟則將次大的數滾動到倒數第二個位置.第n 1 n為無序資料的個數 趟即能完成排序。對氣泡排序演...

氣泡排序(C 實現)

氣泡排序過程 首先將第乙個關鍵字和第二個關鍵字進行比較,若為逆序則將兩個記錄交換,然後比較第二個記錄和第三個記錄,依次類推,知道第n 1個記錄和第n個記錄的關鍵字進行比較為止。此過程稱為第一趟起泡排序,其結果為使得關鍵字最大的記錄被安置到最後乙個記錄的位置,然後進行第二趟排序。例如 輸入 49 38...