简单的二叉树
貌似指针用多了,我就晕了,输出不对...
#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);}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);}