重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
是一种对一维序列进行排序的算法
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟主机、营销软件、网站建设、博野网站维护、网站推广。
过程(以降序为例):
将第一个元素与第二个比较,如果第一个小于第二个,则交换,小的数被后移,接下来第二个和第三个比较,如果第二个小于第三个,则再交换,小的数再次后移,重复操作,第一轮比较完毕之后,最小的数被交换到了最后一个位置,犹如气泡层层上浮到了顶层,如此下去经过
N-1
轮的比较,可将
N
个数排好。
冒泡法是排序的一种方法,冒泡法和冒泡排序实是一个定义.之所以叫冒泡法,即是像在水中的气泡一样,在一轮两数比较之后将最小(或最大的数字)排在一列数的左边(当然右边也行,总之是一边).然后排开这个数,经过N-2排开之后,整列数的大小就是按顺序来的.
冒泡法是一种排序方法
冒泡法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语言中十个数的冒泡法排序的代码
#includestdio.h
#includeconio.h
int main(void)
{
long arrary[9],
box=0L;
int i1=0,
i2=0;
for(i1=0;i19;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;
}