php数组冒泡排序算法实例


本文实例讲述了php数组冒泡排序算法。分享给大家供大家参考,具体如下:

<?php
/*@冒泡排序算法
*/
$array=array(5,45,22,11,32,28,35,56,17,21,92);
$len=count($array);//计算数组长度
for($i=0;$i<$len-1;$i++){//需要比较$len-1轮,每一轮需要比较$len-1次
  for($j=0;$j<$len-1;$j++){//需要比较$len-1次,因为循环到最后一个数时,后面没有数可以比较了,所以循环到倒数第二个数正好
   $k=$j+1;//得到当前数的后一个数的下标,我们依次比较的是数组下标分别为0-1,1-2,3-4的数值对
   if($array[$j]>$array[$k]){//比较两数,如果前一个数比后一个大,则交换两个数的顺序
     $t=$array[$j];
     $array[$j]=$array[$k];
     $array[$k]=$t;
   }//第一次循环比较完之后,进行下一轮比较
  }
}
print_r($array);
/*理解冒泡排序的关键在于,它的比较结果是大数往后放,依次得出的是最大的数,第二大的数,第三大的数。。。依次类推*/
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。



相关阅读:
在ASP.NET 2.0中操作数据之十九:给编辑和新增界面增加验证控件
win10 9926无法访问局域网怎么办?windows10预览版9926无法访问局域网解决方法
Ubuntu14.4下Sublime Text 3无法输入中文解决方法
ecshop 2.72如何修改后台访问地址
使用javascript实现json数据以csv格式下载
C#实现按数据库邮件列表发送邮件的方法
详解CSS3的opacity属性设置透明效果的用法
C#实现在前端网页弹出警告对话框(alert)的方法
苹果 Mac OS X笔记本控制访问者权限的设置教程
win10系统下怎么将腾讯qlv格式转换mp4格式?
MySQL异常恢复之无主键情况下innodb数据恢复的方法
destoon后台网站设置变成空白的解决方法
Linux系统中查看执行中的进程占用内存量的方法
Android编程实现号码归属地查询的方法
快速导航

Copyright © 2016 phpStudy |