PHP冒泡排序算法

冒泡排序,相信对于编程人员来说并不陌生。冒泡排序算法简单来说就是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。
那么之所以称为“冒泡排序”算法是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样。

下面我们就结合具体的代码示例,给大家介绍PHP冒泡排序算法的实现。(以下是升序排列,即从小到大排列)
代码示例如下:

function maopao($arr){
    $len = count($arr);
    for($k=0;$k<=$len;$k++){
     for($j=$len-1;$j>$k;$j--){
       if($arr[$j]<$arr[$j-1]){
         $temp = $arr[$j];
         $arr[$j] = $arr[$j-1];
         $arr[$j-1] = $temp;
      }
    }
  }
  return $arr;
}
$arr = [2,6,2,8,2,34,5,9,2341,23];
var_dump(maopao($arr));

这里我们定义了一个maopao方法,首先我们通过count函数统计出指定数组的总长度。 然后使用双重for循环语句循环遍历数组元素并逐一比较,那么外层for循环就是用来控制循环轮次;内层for循环就是控制每轮的比较次数,并且在每轮比较后选出最大的一个值放在最后。
注意:这里我们通过临时变量$temp介质来存贮$j的值,以此循环比较两个相邻的元素,并把大的值放在后面。
输出

array (size=10)
0 => int 2
1 => int 2
2 => int 2
3 => int 5
4 => int 6
5 => int 8
6 => int 9
7 => int 23
8 => int 34
9 => int 2341

未经允许不得转载:任鹏个人博客 » PHP冒泡排序算法

赞 (0) 打赏

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏