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加密解密的代码
Jul 16 PHP
mysql时区问题
Mar 26 PHP
php.ini中的php-5.2.0配置指令详解
Mar 27 PHP
学习php笔记 字符串处理
Oct 19 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
PHP中Fatal error session_start()错误解决步骤
Aug 05 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
PHP单链表的实现代码
Jul 05 PHP
php简单截取字符串代码示例
Oct 19 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 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
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
php身份证号码检查类实例
2015/06/18 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
JavaScript效率调优经验
2009/06/04 Javascript
网页图片延时加载的js代码
2010/04/22 Javascript
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
Python实现简单登录验证
2016/04/13 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
ipython jupyter notebook中显示图像和数学公式实例
2020/04/15 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
质检员的岗位职责
2013/11/15 职场文书
生物制药自我鉴定
2014/01/25 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
民事代理词范文
2015/05/25 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python