读书人

简单的二叉树解决方案

发布时间: 2012-05-13 16:39:43 作者: rapoo

简单的二叉树
貌似指针用多了,我就晕了,输出不对...

C/C++ code
#include <stdio.h>#include <malloc.h>typedef struct btnode{    int element;    struct btnode *lchild,*rchild;}*Btree;void creat(Btree *BT);void pre(Btree BT);int main(){    Btree BT;    creat(&BT);    pre(BT);    getch();    return 0;}void creat(Btree *BT){        int number;    printf("Please enter numbers:");    scanf("%d",&number);    if(number==0)        BT=NULL;    else    {BT=(Btree *)malloc(sizeof(Btree));    (*BT)->element=number;    creat(&(*BT)->lchild);    creat(&(*BT)->rchild);}}void pre(Btree BT){    if(BT==NULL)    {return;}    printf("%d\t",BT->element);    pre(BT->lchild);    pre(BT->rchild);}


[解决办法]
已经修改好了,要静下来想一想指针的问题了。
C/C++ code
typedef struct btnode{    int element;    struct btnode *lchild,*rchild;}*Btree;void creat(Btree *BT);void pre(Btree BT);int main(){    Btree BT;    creat(&BT);    pre(BT);    getchar();    return 0;}void creat(Btree *BT){        int number;    printf("Please enter numbers:");    scanf("%d",&number);    if(number==0)        (*BT)=NULL;    else    {        (*BT)=(Btree )malloc(sizeof(btnode));    (*BT)->element=number;    creat(&((*BT)->lchild));    creat(&((*BT)->rchild));}}void pre(Btree BT){    if(BT==NULL)    {return;}    printf("%d\t",BT->element);    pre(BT->lchild);    pre(BT->rchild);} 

读书人网 >C语言

热点推荐