浅谈php冒泡排序


Posted in PHP onDecember 30, 2014

PHP实现的代码先奉上:

function bubble_sort($array) {

    for ($i = 0; $i < count($array) - 1; $i++) {    //$i为已经排过序的元素个数

        for ($j = 0; $j < count($array) - 1 - $i; $j++) {    //$j为需要排序的元素个数,用总长减去$i

            if ($array[$j] > $array[$j + 1]) {    //按升序排序

                $temp = $array[$j];

                $array[$j] = $array[$j + 1];

                $array[$j + 1] = $temp;

            }

        }

    }

    return $array;

}
$a = array(5, 1, 4, 7);

代码执行过程:

i = 0;

  j = 0;

  if($arr[0] > $arr[1]) => 5 > 1 条件成立,交换位置,形成新的数组 =>  1 5 4 7  j++

  if($arr[1] > $arr[2]) => 5 > 4 条件成立,交换位置, 形成新的数组 =>  1 4 5 7  j++ 

  if($arr[2] > $arr[3]) => 5 > 7 条件不成立 ,数组保持不变 , 1 4 5 7 j++ j=3 退出内层循环, i++

依次类推吧。

PHP 相关文章推荐
一道关于php变量引用的面试题
Aug 08 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 PHP
PHP使用Mysql事务实例解析
Sep 08 PHP
PHP数据对象PDO操作技巧小结
Sep 27 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 #PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 #PHP
php实现Linux服务器木马排查及加固功能
Dec 29 #PHP
php连接oracle数据库及查询数据的方法
Dec 29 #PHP
php查询mssql出现乱码的解决方法
Dec 29 #PHP
php+mysql大量用户登录解决方案分析
Dec 29 #PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 #PHP
You might like
MySQL中create table语句的基本语法是
2007/01/15 PHP
codeigniter中测试通过的分页类示例
2014/04/17 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
javascript prototype 原型链
2009/03/12 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
10个实用的脚本代码工具
2010/05/04 Javascript
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
Python(Tornado)模拟登录小米抢手机
2013/11/12 Python
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
python中的set实现不重复的排序原理
2018/01/24 Python
Linux下安装python3.6和第三方库的教程详解
2018/11/09 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
如何解决python多种版本冲突问题
2020/10/13 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
2015年党风廉政建设责任书
2015/01/29 职场文书
经费申请报告
2015/05/15 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
python not运算符的实例用法
2021/06/30 Python