`

递归操作

    博客分类:
  • C#
 
阅读更多
  Cite Simple Example

1、 求数组{1,1,2,3,5,8,13....}第30位的值,[注:数位从1开始计算]
   
 public static int Test(int i)
        {
            if (i<=0)
            {
                return 0;
            }
            if (i == 1)
            {
                return 1;
            }
            else
            {
             return Test(i-1)+Test(i-2);
            }
        }


2 、计算1+2+3+4+5+6+100的值 

  
 public static int Test(int i)
        {
            if (i<=0)
            {
                return 0;
            }
          return i+Test(i-1)
        }


3、求阶乘

 /// <summary>
        /// 求i的阶乘
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        public static int fact(int i)
        {
            if (i <= 1)
            {
                return 1;
            }
            else
            {
              return i*fact(i - 1); 
            }
        }


4、复制文件夹操作
  
/// <summary>
        /// 复制文件夹
        /// </summary>
        /// <param name="strFromDirection">要复制的文件夹</param>
        /// <param name="strFromToDirection">文件夹复制到</param>
        /// <returns></returns>
        public static bool CopyDir(string strFromDirection, string strFromToDirection)
        {
            try
            {
                Directory.CreateDirectory(strFromToDirection); //创建文件夹

                if (!Directory.Exists(strFromDirection))
                {
                    return false;
                }

                string[] Dirs = Directory.GetDirectories(strFromDirection);
                if (Dirs.Length > 0)
                {
                    foreach (string d in Dirs)
                    {
                //递归创建文件夹
                        CopyDir(d, strFromToDirection + d.Substring((d.LastIndexOf("\\"))));
                    }
                }

               //复制文件夹下的文件
                string[] Files = Directory.GetFiles(strFromDirection);
                if (Files.Length > 0)
                {
                    foreach (string F in Files)
                    {
                        File.Copy(F, strFromToDirection + F.Substring((F.LastIndexOf("\\"))));
                    }
                }

                return true;
            }
            catch 
            {
                return false; ;
            }
分享到:
评论

相关推荐

    Clearcase中添加递归操作的方法.doc

    本文将详细介绍如何在Clearcase中添加递归操作,以解决这个问题。 首先,我们需要了解什么是递归操作。在文件系统或版本控制中,递归操作是指能够处理目录树中所有文件和子目录的操作。这意味着,当你在一个目录上...

    vb实现递归操作HANNO

    在“vb实现递归操作HANNO”的场景中,HANNO可能是一个自定义函数或过程,用于解决特定的问题,可能是数据处理、算法实现或者是某种计算任务。下面我们将深入探讨递归的基本原理,以及如何在VB中实现递归。 **递归的...

    递归操作树

    递归操作树是利用函数自身调用来遍历或操作树结构中的每个节点,通常涉及深度优先搜索(DFS)或广度优先搜索(BFS)。在C#中,递归可以优雅地实现,使得代码简洁易读。 首先,让我们理解什么是树。树是一种非线性的...

    C++ 递归操作 链表和整数(包括控制台IO)

    对于链表的递归操作,我们可以考虑以下两种常见任务:遍历和反转。遍历链表是简单的递归过程,函数会在每个节点上递归调用自身,直到遇到空节点为止。反转链表则更复杂,需要在每次递归调用时更新节点的前后指针关系...

    clearcase中如何设置GUI中的递归操作

    clearcase中如何设置GUI中的递归操作.pdf

    二叉树遍历的非递归操作

    }二叉树遍历是计算机科学中对二叉树数据结构进行访问的重要操作,通常包括前序遍历、中序遍历和后序遍历三种方式。在这些遍历方法中,递归是最直观且易于理解的实现方式,但递归可能导致调用栈过深,不适合处理大型...

    链表的递归操作(添加求最大值和链表长度).cpp

    链表的递归操作(添加求最大值和链表长度).cpp

    二叉树的非递归操作(包括广义表建树、三种遍历方法、以及求节点等)

    用非递归方法做的关于二叉树的 一些操作,存储结构用的是三叉链表,不过主要还是二叉树的东西。

    来来来,我们聊一聊,为什么不建议使用递归操作?

    尽量少使用递归操作,甚至干脆就不要使用递归操作。 但大家在听到这句话的时候,是否会产生过疑问,为什么不建议使用递归操作呢? 现在,我们就一起聊聊这个话题,看看递归到底会产生什么样的问题。 首先,大家思考...

    kettle递归循环(脚本判断)

    7. **调试与测试**:在实际操作中,务必对递归循环进行充分的测试,确保逻辑正确且可控。Kettle提供了强大的调试工具,可以帮助我们跟踪数据流动和变量变化。 通过上述解释,我们可以看出"Kettle递归循环(脚本判断)...

    递归方式实现链表和数组的操作.zip

    2. `Recursion.java`:这个类可能包含了递归操作的实现,包括数组的递归显示和链表的递归显示。递归函数可能被设计为通用,能够适应不同类型的数组和链表。 3. `ListInterface.java`:可能是一个接口,定义了链表...

    C#中的尾递归与Continuation详解

    关于递归操作,相信大家都已经不陌生。简单地说,一个函数直接或间接地调用自身,是为直接或间接递归。例如,我们可以使用递归来计算一个单向链表的长度: 代码如下: public class Node {  public Node(int value,...

    JS实现水平遍历和嵌套递归操作示例

    本文实例讲述了JS实现水平遍历和嵌套递归操作。分享给大家供大家参考,具体如下: 程序中存在着一些有意思的逻辑,比如多层嵌套可以用递归遍历,比如同层的if else可以用数组遍历。 下面举例说明,多层嵌套的if else...

    JavaScript递归操作实例浅析

    JavaScript递归操作是一种重要的编程技巧,它涉及到函数自身调用自身的能力,以解决复杂的问题或进行数据结构的遍历。本文将深入探讨递归的概念、实现方式以及在JavaScript中的注意事项。 首先,递归的核心原理是将...

    递归删除,复制文件夹

    这个程序可能提供一个接口或函数,用户可以通过指定源文件夹和目标文件夹来执行递归操作。通过查看和分析`RecursiveBrowseFolder`的内容,我们可以学习如何在实际项目中应用这些递归算法。 总之,递归是处理文件...

    C语言递归操作用法总结

    递归操作基于两个核心概念:基础情况(base case)和归纳情况(inductive case)。下面将详细解释这两个概念,并通过实例分析递归的使用。 1. **基础情况(Base Case)**: 基础情况是递归函数的终止条件,即当问题...

    基于.net平台递归树

    7. **并发与多线程**:如果EmployeeSystem支持并发访问,递归操作需要考虑到线程安全,避免在多线程环境下出现数据不一致。 总结,"EmployeeSystem"项目利用了.NET平台的递归特性,构建了一个能够处理员工关系树的...

    SQL Server CTE 递归查询全解1

    CTE是T-SQL脚本中的临时结果集,可以用于复杂的查询,尤其是需要递归操作的情况。本文将深入探讨CTE递归查询的原理、使用方式以及示例。 首先,理解CTE递归查询的三个关键组成部分: 1. **初始条件**:这是CTE的...

    java培训知识-递归

    - **递归结构的数据**:例如树的遍历,深度优先搜索或广度优先搜索都是典型的递归操作。 然而,递归并非总是最佳解决方案,因为它可能会带来以下问题: - **效率低**:相比迭代等其他算法,递归通常执行速度较慢,...

    Unix递归访问

    在进行递归操作时,有时还需要配合其他命令,如`cp`(复制)、`mv`(移动)或`rm`(删除)。例如,如果你想递归地复制一个目录及其所有内容,可以使用`cp -r`命令: ```bash cp -r source_directory destination_...

Global site tag (gtag.js) - Google Analytics