Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 PHP使用递归生成子数组(代码实例)

PHP使用递归生成子数组(代码实例)

发布时间:2021-01-15   编辑:www.jquerycn.cn
jquery中文网为您提供PHP使用递归生成子数组(代码实例)等资源,欢迎您收藏本站,我们将为您提供最新的PHP使用递归生成子数组(代码实例)资源

给定一个数组,使用递归生成给定数组的所有可能的子数组。本篇文章就将给大家介绍如何用PHP来实现此功能。

例子:

输入:[1,2,3] 输出:[1],[1,2],[2],[1,2,3],[2,3],[3] 输入:[1,2] 输出:[1],[1,2],[2]

方法:

我们使用两个指针start和end来维护数组的起点和终点,并按照下面给出的步骤操作:

1.如果我们已经到达数组的末尾,就停止

2.如果start大于end,则增加结束索引

3.从索引start到end打印子数组并增加起始索引

以下是上述方法的PHP代码实现示例:

<?php  // 使用递归函数为给定数组打印所有可能的子数组 function printSubArrays($arr, $start, $end)  {       // 如果我们已经到达数组的末尾,就停止     if ($end == count($arr))          return;             // 增加端点并从0开始     else if ($start > $end)          return printSubArrays($arr, 0,                                 $end   1);                 // 打印子数组并增加起始点     else     {      echo "[";      for($i = $start; $i < $end   1; $i  )      {          echo $arr[$i];          if($i != $end)          echo ", ";      }      echo "]\n";          return printSubArrays($arr, $start   1,                                       $end);      }  }      $arr = array(1, 2, 3);  printSubArrays($arr, 0, 0);

输出:

[1] [1,2] [2] [1,2,3] [2,3] [3]

时间复杂性: ae485547ed787dab68a027517ddaa0c.png

相关推荐:《PHP教程》

本篇文章就是关于PHP使用递归生成子数组的方法介绍,希望对需要的朋友有所帮助!

以上就是PHP使用递归生成子数组(代码实例)的详细内容,更多请关注jquery中文网其它相关文章!

  • 本文原创发布jQuery中文网,转载请注明出处,感谢您的尊重!
  • 您可能感兴趣的文章:
    php递归实现无限分类生成下拉列表函数代码
    php无限级分类的递归函数
    PHP递归算法实例解析
    php递归算法 php递归函数无限级分类
    php递归示例 php递归函数代码
    php递归函数使用return问题
    php递归函数小例子
    PHP递归函数返回值使用实例
    PHP用递归返回无限级分类回字符串或数组实例
    php递归函数求阶乘

    [关闭]