zoukankan      html  css  js  c++  java
  • 冒泡算法

    /**
     * 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));

  • 相关阅读:
    1924班网址
    20192414《网络空间安全导论》第一周学习总结
    H-Angry
    A-Plague Inc
    B-Rolling The Polygon
    F-Moving On
    A-Maximum Element In A Stack
    J-Word Search
    E-Pawns
    D-Lift Problems
  • 原文地址:https://www.cnblogs.com/bigwang1126/p/10955461.html
Copyright © 2011-2022 走看看