Posted on 2006-08-16 20:12
Enjoy Life 阅读(179)
评论(0) 编辑 收藏 引用 所属分类:
DS study
#include <stdio.h>
#include <stdlib.h>
typedef struct bitnode{
char data;
struct bitnode *lchild, *rchild;
}bitnode, *bitree;
void createbitree(bitnode **t, int *n){
char x;
bitnode *q;
*n=*n+1;
printf("\n Input %d DATA:",*n);
x=getchar();
if(x!='\n') getchar();
//后面的getchar函数是用来消除每次输入完字符后按的空格键(\n)
if (x=='\n')
return;
q=(bitnode*)malloc(sizeof(bitnode));
q->data=x;
q->lchild=NULL;
q->rchild=NULL;
*t=q;
printf(" This Address is: %o, Data is: %c,\n Left Pointer is: %o, Right Pointer is: %o",q,q->data,q->lchild,q->rchild);
createbitree(&q->lchild,n);
createbitree(&q->rchild,n);
return;
}
main()
{
bitnode *t; int count=0;
int n=0;
printf("\n Please input TREE Data:\n");
createbitree(&t,&n);
}
注意二叉树的建立必须在所有的叶子节点上lchild和rchild都输入\n才能完成整个二叉树的建立!