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

  • 相关阅读:
    TCP/IP协议详解
    linux高性能服务器编程--初见
    聚合类
    类class 2
    继承
    构造函数再探
    静态成员与友元
    MySQL图形工具SQLyog破解版
    MySQL注释符号
    数据库中多对多关系的中间表的命名规则
  • 原文地址:https://www.cnblogs.com/bigwang1126/p/10955461.html
Copyright © 2011-2022 走看看