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下MAIL的另一解决方案
Oct 09 PHP
又一个php 分页类实现代码
Dec 03 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
php多文件打包下载的实例代码
Jul 12 PHP
PHP实现webshell扫描文件木马的方法
Jul 31 PHP
PHP实现将base64编码字符串转换成图片示例
Jun 22 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
基于PHP的微信公众号的开发流程详解
Aug 07 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 中的str_replace 函数总结
2007/04/27 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
2020/04/23 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[00:53]2015国际邀请赛 中国区预选赛一触即发
2015/05/14 DOTA
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python调用fortran模块
2016/04/08 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
python中的print()输出
2019/04/12 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
企业文化宣传标语
2014/06/09 职场文书
假释思想汇报范文
2014/10/11 职场文书
自我推荐信格式模板
2015/03/24 职场文书
工程合作意向书范本
2015/05/09 职场文书
python异常中else的实例用法
2021/06/15 Python
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android