php数组冒泡排序算法实例

yipeiwu_com6年前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程序设计有所帮助。

相关文章

如何使用php输出时间格式

复制代码 代码如下:<?date_default_timezone_set("ETC/GMT-8");$tm=time();echo date("Y-m-d h:i  a...

php合并数组array_merge函数运算符加号与的区别

array_merge在参考手册中的说明如下: array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有...

PHP面向对象程序设计之对象生成方法详解

本文实例讲述了PHP面向对象程序设计之对象生成方法。分享给大家供大家参考,具体如下: 对象 看个例子 <?php abstract class Employee { /...

PHP的Yii框架中创建视图和渲染视图的方法详解

视图是 MVC 模式中的一部分。 它是展示数据到终端用户的代码,在网页应用中,根据视图模板来创建视图,视图模板为PHP脚本文件, 主要包含HTML代码和展示类PHP代码,通过yii\we...

总结PHP中数值计算的注意事项

一:四舍五入 1.round — 对浮点数进行四舍五入 float round ( float $val [, int $precision ] ) 2:floor — 舍去法取...