排序 查找

Posted qingxiaoping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序 查找相关的知识,希望对你有一定的参考价值。

<?php
    /*
     *冒泡排序
     */
    function maopao($array){
        for($i =0;$i < count($array);$i++){
            for($j = $i+1;$j < count($array);$j++){
                if($array[$i] > $array[$j]){
                    $temp = $array[$i];
                    $array[$i] = $array[$j];
                    $array[$j] = $temp;
                }
            }
        }
        return $array;
    }

    /*
     * 二分查找
     */

    function erfen($array,$search,$low = 0,$hight = 100)
    {
        $midPostion = floor(($low + $hight)/2);
        $midData = $array[$midPostion];
        if($midData == $search)
        {
            return $midPostion;
        }
        if($search < $midData)
        {
            $hight = $midPostion;
            if($hight == 0)
            {
                return false;
            }
            return erfen($array,$search,$low,$hight);
        }else{
            $low = $midPostion + 1;
            if($low > $hight){
                return false;
            }
            return erfen($array,$search,$low,$hight);
        }
    }

    /*
     * 100+99+98+.......1;
     */

    function leijia($n)
    {
        if($n == 1){
            return $n;
        }
        return $n + leijia($n-1);
    }


    $a= array(9,4,6,8,2,4,5,1);
    $b= maopao($a);

    $c = array(1,2,3,4,5,6,7,8,9);
    $k = 5;
    $d = erfen($c,$k,0,8);

    $sum = leijia(100);
    echo $sum;

 

以上是关于排序 查找的主要内容,如果未能解决你的问题,请参考以下文章

从搜索文档中查找最小片段的算法?

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

查找上一个活动片段

数据查找之80-20原则的JavaScript代码实现

二分查找和快速排序(理论+代码)