冒泡法是一种排序方法
冒泡法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
#include
int
main(void)
{
long
arrary,
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]
{
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;
}
标签:冒泡,语言