| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:能解释一下吗?
只看楼主 加入收藏
tymstill
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-1-28
结帖率:100%
收藏
 问题点数:0 回复次数:4 
能解释一下吗?
下面的程序是递归调用的,不是很明白,有谁能解释一下吗?谢谢了
//ruler.cpp -- using recursion to subdivide a ruler
#include <iostream>
const int Len=66;
const int Divs=6;
void subdivide(char ar[],int low,int high,int level);

int main()
{
    char ruler[Len];
    int i;
    for(i=1;i<Len-2;i++)
       ruler[i]=' ';
    ruler[Len-1]='\0';
    int max=Len-2;
    int min=0;
    ruler[min]=ruler[max]='|';
    std::cout<<ruler<<std::endl;
    for(i=1;i<=Divs;i++)
    {
        subdivide(ruler,min,max,i);
        std::cout<<ruler<<std::endl;
        for(int j=1;j<Len-2;j++)
           ruler[j]=' ';
    }
   
    system("pause");
    return 0;
}

void subdivide(char ar[],int low,int high,int level)
{
     if (level==0)
        return;
     int mid=(high+low)/2;
     ar[mid]='|';
     subdivide(ar,low,mid,level-1);
     subdivide(ar,mid,high,level-1);
}
搜索更多相关主题的帖子: 解释 
2008-04-15 09:50
herolzx
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-25
收藏
得分:0 
两次递归都使用,但每次都是
subdivide(ar,low,mid,level-1);
优先,然后再执行
subdivide(ar,mid,high,level-1);
我有个图,地址就是我的头像,你看看

[[it] 本帖最后由 herolzx 于 2008-4-15 14:19 编辑 [/it]]
2008-04-15 14:17
tymstill
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-1-28
收藏
得分:0 
看的不是很懂,但是还是谢谢了

[[it] 本帖最后由 tymstill 于 2008-4-15 14:55 编辑 [/it]]
2008-04-15 14:52
shohokuooo
Rank: 1
等 级:新手上路
威 望:1
帖 子:93
专家分:0
注 册:2005-1-29
收藏
得分:0 
太强了吧,为什么要拿头像来当答案呢?

2008-04-15 14:55
herolzx
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-25
收藏
得分:0 
回复 4# 的帖子
刚开始没找到商船图片的地方,所以就......  :)
2008-04-16 08:07
快速回复:能解释一下吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012124 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved