浅谈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 相关文章推荐
自动把纯文本转换成Web页面的php代码
Aug 27 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
PHP 读取Postgresql中的数组
Apr 14 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
Jun 01 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
php学习之数据类型之间的转换介绍
2011/06/09 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
判断window.onload是否多次使用的方法
2014/09/21 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
Python对列表排序的方法实例分析
2015/05/16 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
Python try except finally资源回收的实现
2021/01/25 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
学生个人求职自荐信格式
2013/09/23 职场文书
销售行业个人求职自荐信
2013/09/25 职场文书
采购员的工作职责
2013/12/26 职场文书
广告宣传策划方案
2014/05/21 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python