浅谈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 相关文章推荐
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
php站内搜索并高亮显示关键字的实现代码
Dec 29 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
解析PHP实现下载文件的两种方法
Jul 05 PHP
PHP使用PHPMailer发送邮件的简单使用方法
Nov 12 PHP
destoon在360浏览器下出现用户被强行注销的解决方法
Jun 26 PHP
YiiFramework入门知识点总结(图文教程)
Dec 28 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 PHP
PHP实现简单的计算器
Aug 28 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
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
用console.table()调试javascript
2014/09/04 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
footer定位页面底部(代码分享)
2017/03/07 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
用Django实现一个可运行的区块链应用
2018/03/08 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
深入理解Django-Signals信号量
2019/02/19 Python
谈谈Python中的while循环语句
2019/03/10 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
python中删除某个元素的方法解析
2019/11/05 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
python 制作磁力搜索工具
2021/03/04 Python
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
分层教学实施方案
2014/03/19 职场文书
导航工程专业自荐信
2014/09/02 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
经营场所使用证明
2015/06/19 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
索尼ICF-5900W收音机测评
2022/04/24 无线电
分享几个实用的CSS代码块
2022/06/10 HTML / CSS