美文网首页
php中的递归技术

php中的递归技术

作者: 小伟_be27 | 来源:发表于2019-01-23 22:38 被阅读30次

1.快速排序:

function f($num,$arr,$start,$end){

    if($start <= $end){

        $mid = floor(($start + $end)/2) ;

        if($arr[$mid] > $num){  //左边

            f($num,$arr,0,$mid-1);

        }elseif($arr[$mid] < $num){ //右边

            f($num,$arr,$mid+1,$end);

        }else{

            echo "{$num}存在于数组的位置为$mid";

        }

    }else{

        echo "数组中不存在$num";

    }

}

$arr = [2,4,5,7,9,11,14,16,19];

f(2,$arr,0,count($arr)-1);

echo "<hr>";

f(11,$arr,0,count($arr)-1);

echo "<hr>";

f(19,$arr,0,count($arr)-1);


结果截图:

2.快速排序

function kuaiSort($arr){

    if(count($arr) <= 1){

        return $arr;

    }

    if(!is_array($arr)){

        return false;

    }

    $left = array();

    $right = array();

    $key = $arr[0];

    for($i = 1 ; $i < count($arr) ; $i++){

        if($arr[$i] < $key){

            array_push($left,$arr[$i]);

        }else{

            array_push($right,$arr[$i]);

        }

    }

    $left = kuaiSort($left);

    $right = kuaiSort($right);

    return array_merge($left,array($key),$right);

}

$arr = [2,22,5,10,18,1,4,7];

var_dump(kuaiSort($arr));


结果截图:

相关文章

  • php中的递归技术

    1.快速排序: function f($num,$arr,$start,$end){ if($start <= ...

  • php递归堆栈简介

    php 递归、效率和分析 递归的定义递归(http:/en.wikipedia.org/wiki/Recursiv...

  • php递归函数的注意事项

    在 PHP 中可以调用递归函数。 也算是很常用的方式了。 注意: 但是要避免递归函数/方法调用超过 100-200...

  • PHP递归

    最后输出结果为: 321

  • 递归函数

    将分类递归,上下级排序 【PHP】 【JS】

  • PHP heredoc 用法

    php 中的 heredoc技术是php用来引用字符串的一种方式。在phpwind中巧妙的运用了这个技术,实现了逻...

  • PHP易混淆知识点大分享-连载3... 

    什么是静态变量? php中函数传递参数的方式有哪些?两者有什么区别? 什么是递归函数?如何进行递归调用? 判断一个...

  • PHP中一些函数方法

    php自定义函数之递归函数 php自定义函数之静态变量 php​ 使用系统内置函数 亚麻跌”是PHP学习时间处理的...

  • PHP递归实现无限级分类

    PHP递归实现无限级分类 在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何...

  • php递归算法

    我们都知道,编程有两大难点:指针和递归。这里说一说递归。 一、什么是递归函数呢? 递归函数就是直接或间接...

网友评论

      本文标题:php中的递归技术

      本文链接:https://www.haomeiwen.com/subject/rljndqtx.html