您的位置:首页 > 编程语言 > PHP开发

PHP 冒泡排序

2017-01-20 11:10 197 查看
作为一个初级phper,平时用到的算法很少,但是基本的几种算法还是要掌握的,比如冒泡排序。

需求:分别用冒泡排序法将下面数组中的值按照从小到的顺序进行排序。 

要排序的数组:$arr(1,34,555,63,21,66,32,78,36,76,25);

思路分析:法如其名,就是像冒泡一样,每次从数组当中冒一个最大的数出来。 

比如:

 *  2,4,1    // 第一次 冒出的泡是4 

 *  2,1,4    // 第二次 冒出的泡是 2 

 *  1,2,4    // 最后就变成这样

<?php
/*
* 冒泡排序
* 按照从小到的顺序进行排序
* date 2017-1-20
* author 疯狂老司机
*/
$arr=array(1,34,555,63,21,66,32,78,36,76,25);
function bubble_sort($arr)
{
$len=count($arr);
//设置一个空数组 用来接收冒出来的泡
//该层循环控制 需要冒泡的轮数
for($i=1;$i<$len;$i++)
{ //该层循环用来控制每轮 冒出一个数 需要比较的次数
for($k=0;$k<$len-$i;$k++)
{
if($arr[$k]>$arr[$k+1])
{
$tmp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$tmp;
}
}
}
return $arr;
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: