最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

遞歸案例分享

 更新時間:2014年05月19日 15:13:53   作者:  
一般定義:程序調(diào)用自身的編程技巧稱為遞歸( recursion)。

一般定義
程序調(diào)用自身的編程技巧稱為遞歸( recursion)。
一個過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個大型復(fù)雜的問題層層轉(zhuǎn)化為一個與原問題相似的規(guī)模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復(fù)計(jì)算,大大地減少了程序的代碼量。遞歸的能力在于用有限的語句來定義對象的無限集合。一般來說,遞歸需要有邊界條件、遞歸前進(jìn)段和遞歸返回段。當(dāng)邊界條件不滿足時,遞歸前進(jìn);當(dāng)邊界條件滿足時,遞歸返回。
注意:
(1) 遞歸就是在過程或函數(shù)里調(diào)用自身;
(2) 在使用遞歸策略時,必須有一個明確的遞歸結(jié)束條件,稱為遞歸出口。

C#遞歸算法實(shí)例:

計(jì)算數(shù)組{1,1,2,3,5,8.......} 第30位值,不用遞歸,我寫出了以下這樣的代碼:

復(fù)制代碼 代碼如下:

static void Main(string[] args) 
 ...{ 
int[] num=new int[30]; 
num[0]=1; 
num[1]=1; 
int first=num[0]; 
int second=num[1]; 
for (int i = 2; i < num.Length; i++) 
...{ 
 num[i] = first + second; 
 first = second; 
 second = num[i]; 

Console.WriteLine(num[29]); 
Console.ReadLine(); 
 } 

C#遞歸算法的使用,以下是代碼:

復(fù)制代碼 代碼如下:

static void Main(string[] args) 
 ...{ 

Console.WriteLine(Process1(30)); 
Console.ReadLine();  
 } 
 public static int Process1(int i) 
 ...{ 

//計(jì)算數(shù)組{1,1,2,3,5,8.......} 第30位值 
if (i == 0) return 0; 
if (i == 1) return 1; 
else
return Process1(i - 1) + Process1(i - 2); 

復(fù)制代碼 代碼如下:

// 階乘
public class Factorial {
    public static void main(String[] args) {
        System.out.println(factorial(6));
    }
    public static int factorial(int n) {
        // 出口點(diǎn)
        if (1==n) {
            return 1;
        } else {
            return n * factorial(n - 1);
        }
    }
}
// 斐波那契數(shù)列
public class Fibonacci {
    public static void main(String[] args) {
        System.out.println(fibonacci(6));
    }
    //  斐波那契數(shù)列:(從第三項(xiàng)開始,后一項(xiàng)都是前兩項(xiàng)的和)
    //  1  1  2  3  5  8  13 ......
    public static int fibonacci(int n) {
        // 出口點(diǎn)
        if (1==n || 2==n) {
            return 1;
        } else {
            return fibonacci(n-1) + fibonacci(n-2);
        }
    }

// 遍歷一個目錄下的所有文件
public class FileList {
    private static List<String> fileNameList = new ArrayList<String>();
    public static void main(String[] args) {
        String dir = "D://360Rec";
        File file = new File(dir);
        addAll(file);
        for (String name : fileNameList) {
            System.out.println(name);
        }
    }
    public static void addAll(File file) {
        // 出口點(diǎn): 是文件或者是空目錄
        if (file.isFile() || file.list().length==0) {
            fileNameList.add(file.getName());
        } else {
            File [] files = file.listFiles();
            for (File f : files) {
                addAll(f);
                if (f.isDirectory() && f.list().length!=0) {
                    fileNameList.add(f.getName());
                }
            }
        }
    }
}

相關(guān)文章

  • C#?WPF中RadioButton控件的用法及應(yīng)用場景

    C#?WPF中RadioButton控件的用法及應(yīng)用場景

    在WPF應(yīng)用程序中,RadioButton控件是一種常用的用戶界面元素,本文主要介紹了C#?WPF中RadioButton控件的用法及應(yīng)用場景,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • C#調(diào)用微信接口的相關(guān)代碼

    C#調(diào)用微信接口的相關(guān)代碼

    這篇文章主要為大家詳細(xì)介紹了C#調(diào)用微信接口的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C#讀寫文本文件(.txt)的方法實(shí)例

    C#讀寫文本文件(.txt)的方法實(shí)例

    讀寫文本文件其實(shí)是件很簡單的事情,這篇文章主要給大家介紹了關(guān)于C#讀寫文本文件(.txt)的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • C#.net編程創(chuàng)建Access文件和Excel文件的方法詳解

    C#.net編程創(chuàng)建Access文件和Excel文件的方法詳解

    這篇文章主要介紹了C#.net編程創(chuàng)建Access文件和Excel文件的方法,結(jié)合實(shí)例形式總結(jié)分析了C#創(chuàng)建Access與Excel文件的幾種常用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • C#實(shí)現(xiàn)給圖片添加日期信息的示例詳解

    C#實(shí)現(xiàn)給圖片添加日期信息的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)給圖片添加日期信息,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C#利用itext實(shí)現(xiàn)PDF頁面處理與切分

    C#利用itext實(shí)現(xiàn)PDF頁面處理與切分

    這篇文章主要介紹了如何在C#中使用itext做一個pdf的頁面大小一致性處理,然后再根據(jù)數(shù)據(jù)切分出需要的pdf,感興趣的小伙伴可以了解一下
    2022-04-04
  • C#?md5?算法實(shí)現(xiàn)代碼

    C#?md5?算法實(shí)現(xiàn)代碼

    相對C#來說,md5算法就相對簡單很多,因?yàn)?System.Security.Cryptography;?已經(jīng)包含了md5算法。所以我們只需創(chuàng)建MD5類對象即可實(shí)現(xiàn)md5算法,今天通過本文給大家介紹C#?md5?算法實(shí)現(xiàn),感興趣的朋友一起看看吧
    2022-11-11
  • C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例

    C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例

    這篇文章主要為大家詳細(xì)介紹了C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#一個簡單的定時小程序?qū)崿F(xiàn)代碼

    C#一個簡單的定時小程序?qū)崿F(xiàn)代碼

    這篇文章主要介紹了C#實(shí)現(xiàn)一個簡單的定時小程序代碼,實(shí)現(xiàn)過程很簡單,需要的朋友可以參考下
    2015-09-09
  • 利用C#實(shí)現(xiàn)在Word中更改字體顏色

    利用C#實(shí)現(xiàn)在Word中更改字體顏色

    在日常工作中,我們有時會需要修改字體的顏色來突出文本重點(diǎn),讓讀者更容易抓住文章要點(diǎn)。在今天這篇文章中,我將為大家介紹如何以編程方式,在Word更改字體顏色,感興趣的可以了解一下
    2023-02-02

最新評論

华亭县| 怀安县| 南平市| 都匀市| 沭阳县| 六安市| 藁城市| 女性| 行唐县| 南开区| 宁波市| 耿马| 昔阳县| 酉阳| 望都县| 牟定县| 玉龙| 巴彦淖尔市| 调兵山市| 通道| 深泽县| 信阳市| 老河口市| 诸城市| 阿克| 兖州市| 商河县| 互助| 大悟县| 阜宁县| 托克逊县| 吐鲁番市| 岳池县| 嘉义市| 马尔康县| 十堰市| 永定县| 云龙县| 阳原县| 胶南市| 蒙山县|