原理:就是像水中的泡泡一樣,把每個數比作乙個泡泡,相鄰兩個泡泡相互比較,較輕的乙個就往上浮。最後就得到了乙個有序的泡泡組合。
方法:1. 把每個泡泡放在乙個水中,記錄有多少個泡泡(得到乙個需要排序的陣列,並記錄有多少個元素)
2. 我們進行排序時,需要進行兩個迴圈,乙個外層迴圈,乙個內層迴圈,我們依次來講。int array[30],n; //定義乙個大小為30的整形陣列
cout<<"輸入需要排序的數:";
//迴圈讀入資料,回車結束
for(int i=1;i<=30;i++)
}
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 為...