當前位置:成語大全網 - 新華字典 - c語言 冒泡法

c語言 冒泡法

if(a[i]>a[i+1]) //如果a[]數組中,前壹個數字比後壹個數字大的話

{ //下面三行代碼:該2個數字調換位置

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

這樣整個函數就實現了講較小的數字放在前面,教大的數字放在後面

如果講該程序短放在i從0到x的數組中循環執行,就實現了將a[x]數組中所有的數字從小到達排列的目的,具體過程如下:

以a[]數組有5個元素為例:

for(ing w=5;w>0;w--){

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

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

當i=0時 先比較a[0]和a[1]兩個數字的大小,如果a[0]比a[1]大,就把他們2個調換位置

當i=1時 先比較a[1]和a[2]兩個數字的大小,如果a[1]比a[2]大,就再把他們2個調換位置

...依次類推

循環5次之後,就把最大的那個數字放到了a[]數組的最後壹個位置上面

然後再用同樣的方式循環4次,對a[]數組的前4個數字進行同樣的處理,就把前4個數字中最大的放到第4個元素位置上了。

當所有的循環執行完成後a[]數組就實現了從小到大的排序