C#中递归的认识和学习

递归:除了调用其他方法,方法也可以调用自身。

递归在代码方面优雅的体现:

1         int F(int Value)
2 {
3 if(Value <= 1)
4 return Value;
5 else
6 return Value * F(Value - 1);
7 } //实现计算阶乘

 

递归越来越深,栈也越来越大。(栈是一个内存数组,是一个LIFO(last-in first-out)的数据结构)

 1         class Program
2 {
3 public void Count(int value)
4 {
5 if(value == 0)
6 return;
7 Count(value - 1);
8 Console.WriteLine("{0}", value);
9 }
10 static void Main()
11 {
12 Program p = new Program();
13 p.Count(4);
14 }
15 }

输入结果为:

1

2

3

4

posted @ 2012-02-07 07:46  展望天空  阅读(315)  评论(0)    收藏  举报