首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

简单的二叉树解决方案

2012-05-13 
简单的二叉树貌似指针用多了,我就晕了,输出不对...C/C++ code#include stdio.h#include malloc.htyped

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

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);} 

热点排行