黑马程序员技术交流社区
标题:
关于递归的一些问题
[打印本页]
作者:
guobin_lu
时间:
2013-3-30 16:04
标题:
关于递归的一些问题
看杨老师的视频 讲到递归有一些不明白 为什么是自己调用自己, 会等待第一次 执行完毕
private void button2_Click(object sender, EventArgs e)
{
foreach (TreeNode node in treeView1.Nodes)
{
//分析过程中“讲理”
DisplayNode(node);
}
}
/// <summary>
/// 显示当前节点的信息,如果有子节点,则显示子节点
/// </summary>
/// <param name="node"></param>
void DisplayNode(TreeNode node)
{
textBox1.AppendText(node.Text+"\r\n");
//如果节点有子节点
if (node.Nodes.Count > 0)
{
//遍历当前节点的子节点
foreach (TreeNode childNode in node.Nodes)
{
//显示子节点。不用仔细分析调用过程
DisplayNode(childNode);
}
}
}
//log4net、quartz
复制代码
作者:
胡志超
时间:
2013-3-30 16:10
递归就是自己调用自己,但是中间会进行条件判断,当条件不满足的时候。递归就会结束
作者:
刘胜寒
时间:
2013-3-30 16:14
递归本身调用自己这个是必须的。不然怎么叫递归。加入求1+2+3+...+n 的和,用递归是这样写的。
public static int sum(int n)
{
if(n==1)return 1;
return n + sum(n-1);
}
复制代码
递归搞点简单的理解一下,然后就懂了
作者:
郑丹丹1990
时间:
2013-3-30 22:25
怎么说呢?你若学习了数据结构就很好理解了。
函数调用就是栈的的一个操作,先进后出。
qw.rar
2013-3-30 22:17 上传
点击文件名下载附件
480 Bytes, 下载次数: 112
作者:
郑丹丹1990
时间:
2013-3-30 22:33
A{
B{
C{}
}
}
ABC是3个函数,关系是AS调用B,B调用C。
左大括号代表方法体的开始,右大括号方法体的结束。
A调用B的前提是B执行结束,B调用C的前提是C执行结束。
C执行结束,返回函数B的位置开始执行B,
B执行结束,返回函数A的位置开始执行A。
递归就是A=B=C,每次递归方法名一样,返回值类型一样,只有参数不一样。
这样也许能帮助您理解??
建议:数据结构中栈的基本知识可以巩固一下。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2