zoukankan      html  css  js  c++  java
  • 算法学习--二分法

    运用语言PHP

    <?php
        //二分法
        function dichotomy(array $arrays,$frist,$last,$num){
            $model=floor(($last+$frist)/2);
            
            if($arrays[$model]==$num){
                echo "It is inset";
            }else{
    
                if($arrays[$model]>$num){
                    $last=$model-1;
                }else{
                    $frist=$model+1;
                }
                if($frist>$last){        //判断条件
                    echo "It is not inset";
                    exit;
                }
                dichotomy($arrays, $frist, $last, $num);
            }
        }
        //冒泡排序---> 顺序
        function bubble_sort($array){
            $total=count($array);
            for($i=0;$i<=($total-2);$i++){        //执行n-1次
                for($j=0;$j<=($total-2-$i);$j++){ //比较n-i-1次
                    if($array[$j]>=$array[$j+1]){
                        $m=$array[$j];
                        $array[$j]=$array[$j+1];
                        $array[$j+1]=$m;
                    }
                }
            }
            return $array;
        }
        $array=array(12,15,45,84,51,69,23);
        $num=15;
        $arrays=bubble_sort($array);
        var_dump($arrays);
        $frist=0;
        $last=count($arrays)-1;
        dichotomy($arrays, $frist, $last,$num);
        
    ?>
  • 相关阅读:
    adb
    js百分比
    隐私策略
    JSON.parse&JSON.stringify
    MVC内容backgroundimage: url('')问题
    mvc笔记
    winform路径
    配置
    邮件发送的原理
    如何调试Windows服务
  • 原文地址:https://www.cnblogs.com/xiashuo-he/p/3544759.html
Copyright © 2011-2022 走看看