PHP冒泡排序算法_PHP教程

php中文网
发布: 2016-07-20 11:13:46
原创
1052人浏览过

基本概念 
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第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。 

产生 
在许多程序设计中,我们需要将一个数列进行排序,以方便统计,常见的排序方法有冒泡排序,二叉树排序,选择排序等等。而冒泡排序一直由于其简洁的思想方法和比较高的效率而倍受青睐。 

排序过程 
设想被排序的数组r[1..n]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组r,凡扫描到违反本原则的轻气泡,就使其向上”漂浮”,如此反复进行,直至最后任何两个气泡都是轻者在上,重者在下为止。

排序实现过程如下: 
49   38   65   97   76   13   27 
38   49   65 97   76   13   27               比较第1个和第2个数,小的放前边,大的放后边 38   49   65   97   76   13   27               比较第2个和第3个数,小的放前边,大的放后边 38   49   65   97   76   13   27               比较第3个和第4个数,小的放前边,大的放后边 38   49   65   76   97   13   27               比较第4个和第5个数,小的放前边,大的放后边 38   49   65   76   13   97   27               比较第5个和第6个数,小的放前边,大的放后边 38   49   65   76   13   27   97               比较第6个和第7个数,小的放前边,大的放后边 至此,第一趟比较结束,得到以下排序: 38   49   65   76   13   27   97   
然后按照第一趟排序的方法继续比较,直到完成排序。

算家云
算家云

高效、便捷的人工智能算力服务平台

算家云 37
查看详情 算家云
<span $arr</span> = <span array</span>(345,4,17,6,52,16,58,69,32,8,234<span ); 
</span><span for</span>(<span $i</span>=1;<span $i</span><<span count</span>(<span $arr</span>);<span $i</span>++<span ){ 
</span><span for</span>(<span $j</span>=<span count</span>(<span $arr</span>)-1;<span $j</span>>=<span $i</span>;<span $j</span>--<span ){ 
</span><span if</span>(<span $arr</span>[<span $j</span>]<<span $arr</span>[<span $j</span>-1<span ]){ 
</span><span $temp</span> = <span $arr</span>[<span $j</span>-1<span ]; 
</span><span $arr</span>[<span $j</span>-1] = <span $arr</span>[<span $j</span><span ]; 
</span><span $arr</span>[<span $j</span>] = <span $temp</span><span ; 
} 
} 
} </span>
登录后复制

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/440331.htmlTechArticle基本概念 冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1 个和第2个数,将小数放前,大...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号