浅谈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 相关文章推荐
BBS(php &amp; mysql)完整版(一)
Oct 09 PHP
PHP新手上路(三)
Oct 09 PHP
echo, print, printf 和 sprintf 区别
Dec 06 PHP
PHP 中文处理技巧
Apr 25 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
PHPEXCEL 使用小记
Jan 06 PHP
php实现的mongodb操作类
May 28 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP创建自己的Composer包方法
Apr 09 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
跟我学Laravel之快速入门
2014/10/15 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
php微信开发自定义菜单
2016/08/27 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
jquery链式操作的正确使用方法
2014/01/06 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
Python交互式图形编程的实现
2019/07/25 Python
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
校运会广播稿100字
2014/01/27 职场文书
学校大课间活动方案
2014/01/30 职场文书
工作失职自我检讨书
2015/05/05 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
详解Redis主从复制实践
2021/05/19 Redis
Go中的条件语句Switch示例详解
2021/08/23 Golang
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL