#include <stdio.h>
#include<stdlib.h>
#include<string.h>
typedef char elemtype;
typedef struct bitnode
{
char data;
struct bitnode *lchild,*rchild;
}bitnode,*bitree;
//创建二叉树,约定用户遵照前序遍历的方式输入数据
Createbitree(bitree *T)
{
char c;
scanf("%c",c);
if(' ' == c)
{
*T=NULL;
}
else
{
*T=(bitnode *)malloc(sizeof(bitnode));
(*T)->data=c;
Createbitree(&(*T)->lchild);
Createbitree(&(*T)->rchild);
}
}
visit(char c,int level)
{
printf("c%位于第%d层\n",c,level);
}
//前序遍历二叉树
preordertraverse(bitree T,int level)
{
if(T)
{
visit(T->data,level);
preordertraverse(T->lchild,level+1);
preordertraverse(T->rchild,level+1);
}
}
int main () {
int level=1;
bitree T = NULL;
Createbitree(&T);
preordertraverse(T,level);
return 0;
}
二叉树建立与前序遍历
最新推荐文章于 2021-11-18 20:42:40 发布