首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 初学C#,请教递归问题。
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-10-29 08:00:20 楼主
        class Program
        {
            static int i = 1;
           
            static void TestFunction()
            {
                Console.WriteLine("TestFunction函数输出测试:{0}", i);
                i++;

                if (i > 1000)
                {
                    return;
                }

                TestFunction();
            }

            static void Main(string[] args)
            {
                TestFunction();
            }
        }

    上面这个是不是就叫递归呢?
    递归在应用程序开发中很常用?但如果从语言设计角度上解析怎么说呢?

    另外,在执行return和再次调用函数本身时的位置关系。也就是说,为什么if要放在前面?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-10-29 08:08:421楼 得分:0
    是递归没错。if放在前面是正确的 如果没有if语句成了死循环了。如果放在后面会多执行一次Console.WriteLine("TestFunction函数输出测试:{0}", i); 递归应该说比较常用。比如用在根遍历。树。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-10-29 08:24:122楼 得分:0
    LS说得很对,帮顶一下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-10-29 08:34:553楼 得分:0
    只要在方法中调用本方法,且有条件跳出该循环就可称为递归,否则就是死循环,会溢出
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojekleen
    • 等级:
    发表于:2007-10-29 08:45:104楼 得分:0
    ??这也是递归?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-10-29 08:55:575楼 得分:0

    你应该抓住适用递归问题的特征


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-10-29 09:47:416楼 得分:0
    前几天刚搞明白递归算法,再有一些情况的时候,不用递归算法还真的挺难搞的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-10-29 11:26:497楼 得分:0
    我搞
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-13 23:26:268楼 得分:0
    这叫递归啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 02:17:229楼 得分:0
    图遍历的非递归算法,看的我晕呼呼的.......
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mohugomohu
    • 等级:
    发表于:2008-02-14 10:43:3810楼 得分:0
    很久以前,有一座山,山上有座庙,庙里有一老一小两个和尚。一天,老和尚对小和尚说:“很久以前,有一座山,山上有座庙,庙里有一老一小两个和尚。一天,老和尚对小和尚说:'很久以前..........."
    这就是递归的工作原理
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • QQQQAnnie
    • 等级:
    发表于:2008-02-14 12:39:1311楼 得分:0
    Xue Xi
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 15:51:5112楼 得分:0
    哦,这么回事啊,受教了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 15:52:4313楼 得分:0
    这个是递归,但递归的实际使用情况不应该改是这样的(我的体会),这里直接可以使用循环。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 15:58:5114楼 得分:0
    if用于跳出递归
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 17:31:0515楼 得分:0
    该回复于2008-03-05 17:03:57被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 17:36:2016楼 得分:0
    8错 这个是递归
      递归还可以用到协议解析上 比如你收到一段协议数据集 你可以把第一个协议数据解析出来 然后递归解析第二个
      不过递归的复杂度高 建议一般不要用
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-14 17:40:5417楼 得分:0
    那确实
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved