- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大泡在上,小泡在下——冒泡排序基本原理。
冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。 由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。 用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的值依次为1,2,...10-i。
C语言
void bubble_sort(int *x, int n)
{
int j, k, h, t;
for (h=n-1,h=k; h0; h--) /*循环到没有比较范围*/
{
for (j=0, k=0; jh; j++) /*每次预置k=0,循环扫描后更新k*/
{
if (*(x+j) *(x+j+1)) /*大的放在后面,小的放到前面*/
{
t = *(x+j);
*(x+j) = *(x+j+1);
*(x+j+1) = t; /*完成交换*/
k = j; /*保存最后下沉的位置。这样k后面的都是排序排好了的。*/
}
}
}
}
程序1:
void bubble_sort(int array[],int n)
{
int i,j,flag,temp;
for(i = 0; i n-1; i++)
{
flag = 1;
for(j = 0; j n-i-1; j++)
{
if(array[j] array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
flag = 0;
}
}
if(1 == flag)
printf(%d ,i); //首先打印出,在第几层循环时顺序已排好
break; //跳出循环
}
return;
}
程序2:(可进行2个数以上大小比较,程序参考作者:赵杰)
#includeSTDIO.H
main()
{
long a,x,k,i[100],s;
char ch;
for(a=0;;a++)
{
printf(输入一个数,输完一个数按回车,最后一个数末尾要加n:);
scanf(%ld%c,i[a],ch);
if(a==99)
{
printf(注意!输入的数超过100个);
break;
}
else if(ch==n)
break;
}
do{
x=0;
for(k=0;ka;k++)
{
if(i[k]i[k+1])
{
s=i[k+1];i[k+1]=i[k];
i[k]=s;x++;
}
}
}while(x!=0);
printf(从小到大排列为:);
for(k=0;ka;k++)
printf(%ld,i[k]);
printf(%ld,i[a]);
}PHP
代码1:
?php
//冒泡排序(一维数组)
function bubble_sort($array)
{
$count = count($array);
if ($count = 0) return false;
for($i=0; $i$count; $i++)
{
for($j=$count-1; $j$i; $j--)
{
if ($array[$j] $array[$j-1])
{
$tmp = $array[$j];
$array[$j] = $array[$j-1];
$
您可能关注的文档
最近下载
- 轧制自动控制8板带钢冷却技术.ppt VIP
- 新解读《GB_T 38883-2020无损检测 主动式红外热成像检测方法》.docx VIP
- 银行案防工作培训课件.pptx VIP
- 毕业答辩——船舶操纵性和耐波性.doc VIP
- CSTM-无损检测 红外检测 涡流红外热成像检测方法.doc VIP
- YDT 3436.4-2019架空通信线路配件 第4部分:抱箍类、光缆预留支架(报批稿).pdf
- SH-T 3542-2007 石油化工静设备安装工程施工技术规程.pdf VIP
- 新人教版六年级英语(上册)教案(全册).pdf VIP
- 民法典婚姻家庭编课件完整版.pptx VIP
- 夏普液晶电视中文指导书.pdf VIP
文档评论(0)