用c 實現氣泡排序

2021-10-03 11:03:45 字數 662 閱讀 2150

現在假設有乙個陣列[3,5,7,2,4],那麼如果要想把它用冒泡從小到大排序,

首先取3和5比較,3小於5;用5和7比較,5小於7;用7和2比較,7大於2;用7和4比較,7大於4;

第0輪比下來陣列變為[3,5,2,4,7],比較了 5-1 次;

第1輪還是依次比較陣列變為[3,2,4,5,7],比較了 5-2 次;

第2輪陣列變為[2,3,4,5,7],比較了 5-3 次,此時發現陣列已經從小到大排序,但是由於陣列有5個數,所以兩兩比較,需要比較5-1輪,在每一輪比較的內部迴圈中,需要比較5-1-排序輪數。

所以結論是:排序總輪數 = 元素個數 - 1;

每輪對比次數 = 元素個數 - 1 - 排序輪數;

c++**如下:

#include

using

namespace std;

intmain()

;int temp =0;

for(

int i =

0; i <

size

(a)-

1; i++)}

}for

(int i =

0; i <

size

(a); i++

)return0;

}

用shell實現氣泡排序

鍵盤輸入陣列值,對其進行氣泡排序 root localhost vim maopao.sh bin bash 氣泡排序k 0 while true doread p 是否需要輸入數值?do if do no then break firead p 請輸入第 k 1 個元素 key score k k...

用python實現氣泡排序

氣泡排序 冒泡法也稱沉底法,沒相鄰兩個記錄關鍵字比較大小,大的記錄往下沉 也可以小的網上浮 每一遍把最後乙個下沉的位置記下,下一遍只需檢查比較到此位置 到所有記錄都不發生變化時,整個過程結束 每交換一次,記錄減少乙個反序數 有一組資料 83,16,9,96,27,75,42,69,34 在開始時83...

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執行結果 演算...