A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董事长 中级黑马   /  2016-11-14 16:27  /  2177 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

<?php
/* 1. 冒泡排序法
*     思路分析:法如其名,就是像冒泡一样,每次从数组当中 冒一个最大的数出来。
*     比如:2,4,1    // 第一次 冒出的泡是4
*                2,1,4   // 第二次 冒出的泡是 2
*                1,2,4   // 最后就变成这样
*/
        $arr=array(1,43,54,62,21,66,32,78,36,76,39);
        function getpao($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;
        }
        $bubble = getpao($arr);
        echo "<pre>";
        var_dump($bubble);

1 个回复

倒序浏览
$arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588);
$n =count($arr);
//echo $n;
for($h=0;$h<$n-1;$h++){//外层循环n-1
for($i=0;$i<$n-$h-1;$i++){  
if($arr[$i]>$arr[$i+1]){//判断数组大小,颠倒位置
  $kong=$arr[$i+1];  
$arr[$i+1]=$arr[$i];
  $arr[$i]=$kong;
     }
  }
}
var_dump($arr);
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马