标题:二叉树建立的问题!
取消只看楼主
王一南
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2010-11-29
结帖率:100%
已结贴  问题点数:20 回复次数:3 
二叉树建立的问题!

二叉树的建立,书上是这么给的,么返回值,我想要返回值,行吗?
typedef struct BiTNode
{
   char data;
   struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

void CreatBiTree(BiTree *T)
{
  char ch;
  getchar()
  if(ch=='#')
    *T=NULL;
  else
  {
        *T=(BiTree)malloc(sizeof(BiTNode)) ;
        *T->data=ch;
        CreatBiTree(&((*T)->lchild));
        CreatBiTree(&((*T)->rchild));
   }
}

我是这么写的,不知道行不?这个返回值行吗?
typedef struct BiTNode
{
   char data;
   struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

void CreatBiTree(BiTree root)
{
  Bitree p;
  p=root;
  char ch;
  getchar()
  if(ch=='#')
    *T=NULL;
  else
  {
       p=(BiTree)malloc(sizeof(BiTNode)) ;
       p->data=ch;
        CreatBiTree(p->lchild);
        CreatBiTree(p->rchild);
        return(root);
   }

}
搜索更多相关主题的帖子: 二叉树 
2011-05-17 13:12
王一南
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2010-11-29
得分:0 
烦劳各位高手了
2011-05-17 16:15
王一南
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2010-11-29
得分:0 
回复 3楼 三月的雪
那那个返回值return 是放在那个大括号里,还是放在小括号了呢?
  如果放在小括号里
 else
  {
       p=(BiTree)malloc(sizeof(BiTNode)) ;
       p->data=ch;
        CreatBiTree(p->lchild);
        CreatBiTree(p->rchild);
        return(root);
   }

我感觉我不是很明白是怎么递归的,每次递归的返回值是什么呢?
  麻烦您了
2011-05-19 10:10
王一南
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2010-11-29
得分:0 
回复 3楼 三月的雪
BiTreeNode *createBiTree()
  你这个定义函数为什么么有参数呢?
 如果这样定义可以吗?
BiTreeNode *createBiTree(Bitree root)
 麻烦您了

2011-05-19 10:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-340157-1-1.html




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

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