現在假設有乙個陣列[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執行結果 演算...