古詩詞大全網 - 成語查詢 - c語言中冒泡法是什麽意思?

c語言中冒泡法是什麽意思?

冒泡法是壹種排序方法

冒泡法  5 4 3 2 1

比如上面這5個數字我們把它按照由小到大的順序排列,

從前往後相臨兩位比較大小,如果前壹位比後壹位大就把它倆

換位,5比4大就把5和4換位,得到45321

5又比3大 5和3換位 得到43521 依次類推最後得到

43215 這樣就把最大的壹個數字移到最後面了

然後不看5 ,剩下4321 再用上面的方法把4移動到最後

得到 32145 在不看45 剩下321 把3移動到

最後,依此類推。

最終得到12345

這就是冒泡法,是計算機編程排序中最簡單快捷的方法。

除此意外我還能寫出許多排序方法,但是效率上都不如冒泡法

至於為什麽叫冒泡法呢,妳把這幾個數字豎起來看

1

2

3

4

5

把最大的數字5看成最大的泡泡,浮到最上,然後4又浮上去,依此類推

得到

5

4

3

2

1

所以形象的稱為冒泡法

——————————————————————————————————

以下是C語言中十個數的冒泡法排序的代碼

#include<stdio.h>

#include<conio.h>

int main(void)

{

long arrary[9],

box=0L;

int i1=0,

i2=0;

for(i1=0;i1<9;i1++)

arrary[i1]=0;

printf("輸入數組元素:\n");

for(i1=0;i1<=9;i1++)

{

printf("%3d>",i1+1);

scanf("%d",&arrary[i1]);

}

for(i1=0;i1<=9;i1++)

for(i2=0;i2<=9-i1;i2++)

{

if(arrary[i2]<arrary[i2+1])

{

box=arrary[i2+1];

arrary[i2+1]=arrary[i2];

arrary[i2]=box;

}

}

printf("\n排序後為:\n");

for(i1=0;i1<=9;i1++)

printf("%3d>%d\n",i1+1,arrary[i1]);

getch();

return 0;

}