PHP实现冒泡排序的简单实例


Posted in PHP onMay 26, 2016

1、首先我们必须弄清楚什么是冒泡排序,不理解冒泡排序的原理,我们就无法写出代码。

冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。

PHP实现代码:

<?php
  
  //冒泡排序方法

  function bubblesort(&$arr){
      //定义一个变量保存交换的值
    $temp =0;
    for($i=0;$i<count($arr);$i++){
      
      for($j=0;$j<count($arr)-$i-1;$j++){
            
        if($arr[$j]>$arr[$j+1]){
          //如果前面的那个数大于后面的那个数,那么他们就进行交换
          $temp=$arr[$j];
          $arr[$j]=$arr[$j+1];
          $arr[$j+1]=$temp;
        }
      }      
    }
  }

  $arr=array(100,99,200,5,-4,6,-7);
  bubbleSort($arr);
  print_r($arr);  //数组是值传递,所以传递的时候加个&符号就是地址传递,改变外部变量


?>

以上这篇PHP实现冒泡排序的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
如何使用PHP中的字符串函数
Oct 09 PHP
使用PHP获取网络文件的实现代码
Jan 01 PHP
php利用cookie实现访问次数统计代码
May 19 PHP
PHP 验证码的实现代码
Jul 17 PHP
深入php之规范编程命名小结
May 15 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
PHP针对多用户实现更换头像功能
Sep 04 PHP
thinkPHP5.0框架独立配置与动态配置方法
Mar 17 PHP
PHP中递归的实现实例详解
Nov 14 PHP
Laravel中如何轻松容易的输出完整的SQL语句
Jul 26 PHP
Laravel SQL语句记录方式(推荐)
May 26 #PHP
PHP MVC框架skymvc支持多文件上传
May 26 #PHP
CodeIgniter集成smarty的方法详解
May 26 #PHP
PHPExcel简单读取excel文件示例
May 26 #PHP
php快速排序原理与实现方法分析
May 26 #PHP
深入理解PHP中的empty和isset函数
May 26 #PHP
CodeIgniter常用知识点小结
May 26 #PHP
You might like
PHP下10件你也许并不了解的事情
2008/09/11 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
preg_match_all使用心得分享
2014/01/31 PHP
php动态生成函数示例
2014/03/21 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
Python 查看list中是否含有某元素的方法
2018/06/27 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
Python操作Jira库常用方法解析
2020/04/10 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
params有什么用
2016/03/01 面试题
自荐信的五个重要部分
2013/10/29 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
车辆安全检查制度
2014/01/12 职场文书
商场父亲节活动方案
2014/08/27 职场文书
2014年物流工作总结
2014/11/25 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
2016年情人节问候语
2015/11/11 职场文书