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;

}