posts - 63, comments - 37, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 ::  :: 管理

#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才能完成整个二叉树的建立!

只有注册用户登录后才能发表评论。