浅谈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 最大运行时间 max_execution_time修改方法
Mar 08 PHP
php 图片加水印与上传图片加水印php类
May 12 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
CodeIgniter分页类pagination使用方法示例
Mar 28 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
PHP查询分页的实现代码
Jun 09 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 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
一个捕获函数输出的函数
2007/02/14 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
PHP中phar包的使用教程
2017/06/14 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
再谈javascript原型继承
2014/11/10 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
ng-alain表单使用方式详解
2018/07/10 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
Python FTP操作类代码分享
2014/05/13 Python
python获取点击的坐标画图形的方法
2019/07/09 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
大三学习计划书范文
2014/05/02 职场文书
关于护士节的演讲稿
2014/05/26 职场文书
消防安全宣传标语
2014/06/07 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
python 实现体质指数BMI计算
2021/05/26 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android