冒泡算法

/**
 * 1、冒泡算法:就是像冒泡一样,每次从数组当中 冒一个最大的数出来。
 *  ①.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
 *  ②.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
 */

$arr=array(12,66,32,78,36);

function getpao($arr)
{
    $len=count($arr);
    $count = 0;
    $num= 0 ;
//    var_dump($len);
    //设置一个空数组 用来接收冒出来的泡
    //该层循环控制 需要冒泡的轮数
    for($i=0;$i<$len;$i++)
    {
        //该层循环用来控制每轮 冒出一个数 需要比较的次数
        $count++;  //总共循环四次
        for($k=0;$k<$len-$i-1;$k++)
        {
            $num++; // 总共循环10次
            if($arr[$k]>$arr[$k+1])
            {
                var_dump($arr[$k],"和".$arr[$k+1]);
                $tmp=$arr[$k+1];
                $arr[$k+1]=$arr[$k];
                $arr[$k]=$tmp;
                var_dump("结束判断:");
                var_dump($arr);
            }
        }
    }
    var_dump($count,$num);
    return $arr;
}
//var_dump(getpao($arr));

原文地址:https://www.cnblogs.com/bigwang1126/p/10955461.html