C 氣泡排序

2021-09-17 18:52:21 字數 1620 閱讀 4676

原理:就是像水中的泡泡一樣,把每個數比作乙個泡泡,相鄰兩個泡泡相互比較,較輕的乙個就往上浮。最後就得到了乙個有序的泡泡組合。

方法:1. 把每個泡泡放在乙個水中,記錄有多少個泡泡(得到乙個需要排序的陣列,並記錄有多少個元素)

int array[30],n;  //定義乙個大小為30的整形陣列

cout<<"輸入需要排序的數:";

//迴圈讀入資料,回車結束

for(int i=1;i<=30;i++)

}

2. 我們進行排序時,需要進行兩個迴圈,乙個外層迴圈,乙個內層迴圈,我們依次來講。

3.例子:

陣列:3 5 2 4 1 共有5個數,所以n=5。

外層迴圈:for(int i=0;iarray[j+1]) //判斷條件

}}過程:

第一次外層迴圈:

i=0、j=0——array[j]=3、array[j+1]=5——不符合條件——沒交換位置:3 5 2 4 1

i=0、j=1——array[j]=5、array[j+1]=2——符合條件——交換位置後:3 2 5 4 1

i=0、j=2——array[j]=5、array[j+1]=4——符合條件——交換位置後:3 2 4 5 1

i=0、j=3——array[j]=5、array[j+1]=1——符合條件——交換位置後:3 2 4 1 5(最後乙個位置排好)

第二次外層迴圈:

i=1、j=0——array[j]=3、array[j+1]=2——符合條件——交換位置:2 3 4 1 5

i=1、j=1——array[j]=3、array[j+1]=4——不符合條件——沒交換位置:2 3 4 1 5

i=1、j=2——array[j]=4、array[j+1]=1——符合條件——交換位置:2 3 1 4 5(倒數第二個位置排好)

第三次外層迴圈:

i=2、j=0——array[j]=2、array[j+1]=3——不符合條件——沒交換位置:2 3 1 4 5

i=2、j=1——array[j]=3、array[j+1]=1——符合條件——交換位置:2 1 3 4 5(第三個位置排好)

第四次外層迴圈:

i=3、j=0——array[j]=2、array[j+1]=1——符合條件——交換位置:1 2 3 4 5(第二個位置排好,第乙個位置自然排好)

4.完整**:

#includeusing namespace std;

int main()

; //排序陣列

//對陣列進行初始化

cout<<"please enter the number to sort:";

for(int i=0;i>array[i];

}//列印沒排序時的陣列

cout<<"the array at the beginning:";

for(int i=0;iarray[j+1])

}

}//列印排序好了的陣列

cout<<"the array at the beginning:";

for(int i=0;ireturn 0;

}

C 氣泡排序

using system using system.collections.generic using system.linq using system.text 個數是 j 1 num j double.parse console.readline console.writeline 你剛才輸入的...

C 氣泡排序

class program endregion region 該方法獲得需要排序的陣列,表呼叫排序方法進行排序 該方法獲得需要排序的陣列,表呼叫排序方法進行排序 public static void sortednumbers 個數字 numbercount for int i 0 i number...

氣泡排序 C

氣泡排序 1 排序方法 將被排序的記錄陣列r 1.n 垂直排列,每個記錄r i 看作是重量為r i key的氣泡。根據輕氣泡不能在重氣泡之下的原則,從下往上掃瞄陣列r 凡掃瞄到違反本原則的輕氣泡,就使其向上 飄浮 如此反覆進行,直到最後任何兩個氣泡都是輕者在上,重者在下為止。1 初始 r 1.n 為...