回 帖 发 新 帖 刷新版面

主题:恳求各位啦

#include<stdio.h>
#define NULL 0
typedef char datatype;
typedef struct node{
                    datatype data;
                    struct node *lchild;
                    struct node *rchild;
                    }bintnode;
                    typedef bintnode *bintree;
                    bintree root;



/*建树*/
void createbintree(bintree *t)
{char ch;

    if((ch=getchar())==' ')
         *t=NULL;
    else
    {*t=(bintnode*)malloc(sizeof(bintnode));
    (*t)->data=ch;
    createbintree(&(*t)->lchild);
    createbintree(&(*t)->rchild);
    }

}




/*前序遍历叶子结点个数*/
void preorder(bintree t)
{int i=0;
         if(t)
       {
         preorder(t->lchild);
         preorder(t->rchild);
          if((t->lchild==NULL)&&(t->rchild==NULL))
          {i++;} //i用于记下叶子结点个数
        }
   printf("%d",i);//这里有很大的问题,告诉我


}





main()
{bintree *q,p;
int m;
q=&p;
createbintree(q);
preorder(p);
getch();
}


我不大懂递归的思想,还有大括号的作用域;请详说






回复列表 (共1个回复)

沙发

递归的思想就是:大事化小,小事化了

我来回复

您尚未登录,请登录后再回复。点此登录或注册