递归举例

递归打印数组

递归打印目录文件

<?php
$arr=array(1,2,3,4,array(5,6,7,array(8,9)));
//递归打印出数组$arr中的所有数值
function digui($array){
    if(is_array($array)){
        foreach ($array as $key => $value) {
            digui($value);
        }
    }else{
        echo $array,"<br/>";
    }
}
digui($arr);
//递归打印当前目录下的所有目录
function printdir($path,$lev=1){//$lev是前面有几个空格,不同目录用空格隔开
    $dh=opendir($path);
    while(($row=readdir($dh))!==false){
        echo str_repeat(‘ ‘, $lev*10),$row,‘<br/>‘;
        if($row=="."||$row==".."){
            continue;//退出这一层
        }
        if(is_dir($path.‘/‘.$row)){//如果$row还是目录,就把这个目录再次递归调用
            printdir($path.‘/‘.$row,$lev+1);
        }
    }
    closedir($dh);
}
$path="./tieba";
printdir($path);

?>
时间: 2024-10-25 19:05:06

递归举例的相关文章

数据结构与算法之递归

递归: 定义:一个函数自己直接或间接调用自己 (不要写成死递归) 举例: 1. 1+2+3+4+...+100的和 求阶乘 汉诺塔 走迷宫   函数的调用(以C语言为例) 当一个函数的运行期间调用另一个函数时,在运行被调用函数之前,系统需要完成三件事: 将所有的实际参数,返回地址(即调用函数的位置,等到调用函数执行完毕后返回这个位置,继续执行下面的代码)等信息传递给被调函数保存 为被调函数的局部变量(也包括形参)分配存储空间 将控制转移到被调函数的入口 从被调函数返回主调函数之前,系统也要完成三

什么是递归调用

递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用,递归调用一种解决方案,一种是逻辑思想,将一个大工作分为逐渐减小的小工作,比如说一个和尚要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬走48块,那剩下的一块就能搬完了,递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了 递归举例: C语言中的递归 计算阶乘的代码 long fact(long n) { if(

bash脚本----case和function

case语句 什么时候用到case? 当多次判断变量是否属于某个字符串时候 case语句的语法格式: case  $VARAIBLE  in PAT1) 注:如果PAT1匹配到$VARAIBLE时候,执行分支1 同理 分支1 ;; 注:每一个判断条件都要双分号,同理 PAT2) 分支2 ;; ... *)  都不属于以上情况,执行分支n 分支n ;; esac   最后一个不需要  特性:case支持glob风格的通配符: *:任意长度的任意字符: ?:任意单个字符: []:范围内任意单个字符:

传智播客C语言视频第二季(增加诸多C语言案例讲解,有效下载期为10.5-10.10关闭)

?? 卷 backup 的文件夹 PATH 列表卷序列号为 000000F4 D4A8:14B0J:.│  1.txt│  2.txt│  ├─1传智播客_尹成_C语言从菜鸟到高手_第一章C语言概述A│  ├─文档│  │      第1讲 C语言第一阶段.doc│  │      │  └─视频│          第1讲 C语言第一阶段.mp4│          ├─2传智播客_尹成_C语言从菜鸟到高手_第二章C语言跨平台HelloWorld-A│  ├─第10节 2.5.1-2.5.7C

传智播客C语言视频第一季(有效下载期为10.1-10.7,10.8关闭)

?? J:\传智播客_尹成_C语言从菜鸟到高手├─传智播客_尹成_C语言从菜鸟到高手_第一章C语言概述A│      第一讲1.1C语言第一阶段.mp4│      第二讲1.2c语言入门教程.mp4│      ├─传智播客_尹成_C语言从菜鸟到高手_第七章编译选项_链表_栈_队列_C实战│  ├─7.1编译与预处理│  │      第10讲 7.1.14-24宏的高级用法2.mp4│  │      第11讲 7.1.25文件包含-7.1.28编译及预处理小节.mp4│  │      第

Word 测试下发布博客

目录 语法.    3 NULL,TRUE,FALSE    3 大小端存储    4 类型转换    4 转义字符    5 运算符的优先级    5 表达式(a=b=c)    7 *pa++=*pb++    7 值的比较(浮点,指针)    8 循环语句的小技巧    8 常量 const enum define code    8 全局变量定义在.h    10 函数    11 函数声明与定义    11 函数堆栈(?)    12 函数调用规范(*)    12 函数连接规范(?)

2016计算机专业考研:c++大学教程第二版目录(上)

2016计算机专业考研:c++大学教程第二版目录,本文为上半部分,专业课的复习,读书很重要: 第1章计算机与C++编程简介 1.1 简介 1.2 什么是计算机 1.3计算机组成 1.4 操作系统的变革 1.5 个人计算.分布式计算与客户/服务器计算 1.6 机器语言.汇编语言和高级语言 1.7 C语言与C++的历史 1.8 C++标准库 1.9 Java.Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.1

python自动化第五次课

首先讲函数. 1.内置函数 python自带的一些函数,直接拿过来能用的 id() #看内存地址 type() #看数据类型 print() #打印 input() #输入 list() #转list set()# 转集合 str()#转字符串 dict()#转字典 int()#转int float()#转float类型 len()#取长度 max() min() dir() #帮助你的 sorted()#排序 round(11.00011,2)#保留几位小数2.自己定义的函数: def say

第十六天 Python学习

[今日学习] 一.匿名函数 匿名函数是相对于有名函数而言,有名函数的存在是为了可以重复在不同位置调用,匿名函数因为在定义时没有名称,只有内存地址,就像一个没有名字的人一样,他可以干活,但你不知道他的名字时就不好叫他干活,但只有一个人知道,那就是在定义时这个人可以使用一次. 匿名函数的使用: 匿名函数往往跟其它类型的函数一起使用,这里包括max(取最大值).min(取最小值).reduce(合并).sorted(排序).filter(过滤).map(映射) 注意:返回的值在Python3中返回的是