注册 登录
编程论坛 C++教室

递归问题求助

charderkk 发布于 2011-05-17 23:34, 342 次点击
最近在编按树形结构打印二叉树时用到递归函数,但发现个问题
bool PrintHufftree(HuffTree HT,int root,int nlayer,int hang){
    int i;
    if(root==0) return false;
    PrintHufftree(HT,HT[root].rChild ,nlayer+3,hang+1);
    for( i=0;i<hang ;i++) cout<<endl;
    for( i=0;i<nlayer;i++) cout<<" ";
    cout<<root;//若在某一层中运行了这句,就是运行了i行回车后,在i行打印了root,那么在返回上一层时,终端在打印时是接着i行开始打印,
              //想问下返回上一层时,光标能不能回到起始位置?
    PrintHufftree(HT,HT[root].lChild ,nlayer-3,hang+1);
    return true;

[ 本帖最后由 charderkk 于 2011-5-17 23:39 编辑 ]
2 回复
#2
寒风中的细雨2011-05-18 00:16
可以先打印到一张图(map)  按照打印应该是一个倒着的树

然后再把这张图 也以倒着的形式 输出到终端上

最终应该可以得到想要的效果
#3
lucky5635912011-05-18 07:53
存到数组中再打印?
1