二叉树创建

原创 2013年12月04日 09:48:51
# include<stdio.h>
# include<malloc.h>
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*biTree;


void createtree(biTree *T)//创建树
{
char c;
int num = 0;
printf("plese input a char input " "endof \n");
scanf("%c",&c);
getchar();//抵消回车符若无则 在递归时scnaf有一次不会执行
printf("存入RTR\n");
if(c == 'E')
{
  
    *T = NULL;
printf("%d\n",num++);
}
else
{
*T = (BiTNode *)malloc(sizeof(BiTNode));
(*T)->data= c;
(*T)->lchild = NULL;
(*T)->rchild = NULL;
printf("存入%c\n",c);
createtree(&(*T)->lchild);
printf("右树\n");
createtree(&(*T)->rchild);
}

}


void visittree(char c ,int level)
{
if(c == 'D')
printf("%c is at %d\n",c,level);
}


void ordertree(biTree t,int level)
{

if (t == NULL)
{
return ;//用于没有叶子节点的终止访问
}
visittree(t->data,level);
ordertree(t->rchild,level+1);
ordertree(t->lchild,level+1);

}


int main(void)
{
biTree t=NULL;
int level=1;//确定所在层数
createtree(&t);
printf("test\n");
ordertree(t,level);
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

创建二叉树的两种方法以及三种遍历方法

二叉树的两种创建方法和三种遍历方法 这里的两种创建方法,一种值得是 数据结构上面的创建方法: 方法一 代码如下: 二叉树的结构定义如下: typedef s...
  • yujin753
  • yujin753
  • 2015年01月26日 11:32
  • 8170

二叉树的创建即遍历(递归方式)

最近准备把数据结构书上的算法用代码实现一遍,在二叉树这块遇到了一点小问题,发现是自己指针这块还没过关,研究了一个小时候,终于明白二级指针的使用情况,(那些自认为自己指针过关的同学可不要停留在一级指针这...
  • u012997465
  • u012997465
  • 2016年04月06日 23:21
  • 1452

递归和非递归方法建立二叉树

研三了,天天忙着找工作,细数来看过的算法也算多了,但是都是在不同的电脑上看的,而且都没有记录,因此开通此博客用于记录平时看书的笔记或者笔试题目,算法等的解释,写于此便于自己日后回顾和让其他在招工的同学...
  • hailong0715
  • hailong0715
  • 2013年08月30日 16:45
  • 2269

二叉树的创建和各种遍历递归和非递归

  • 2014年01月12日 16:03
  • 26KB
  • 下载

C语言二叉树创建与遍历

  • 2012年12月24日 22:19
  • 12KB
  • 下载

二叉树的创建以及遍历

  • 2013年04月22日 22:01
  • 2KB
  • 下载

二叉树的创建和先序遍历

  • 2013年04月02日 19:15
  • 812B
  • 下载

平衡二叉树完整代码(创建,插入,旋转)

  • 2017年07月20日 15:59
  • 7KB
  • 下载

二叉树先序递归创建及遍历

  • 2014年11月14日 00:15
  • 1KB
  • 下载

平衡二叉树创建

  • 2016年05月13日 16:06
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二叉树创建
举报原因:
原因补充:

(最多只允许输入30个字)