简单的二叉树解决方案
简单的二叉树
貌似指针用多了,我就晕了,输出不对...
------解决方案--------------------
已经修改好了,要静下来想一想指针的问题了。
貌似指针用多了,我就晕了,输出不对...
- 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); }