首页 > 代码库 > 二叉树的存储与遍历

二叉树的存储与遍历

typedef char status;
typedef char Telemtype;
#define NULL 0
#define OK   1
typedef struct bitnode{
	Telemtype data;
	struct bitnode *lchild,*rchild;
}bitnode,*bitree;
Creatbitree(bitree &t)
{
//先序创建二叉树
	char ch;
	scanf("%c",&ch);
	if(ch==‘*‘) t=NULL;
	else{
		t=(bitnode *)malloc(sizeof(bitnode));
		if(!t) exit(0);
		t->data=http://www.mamicode.com/ch;"%c",t->data);
		Preordertree(t->lchild);
		Preordertree(t->rchild);
	}
}

void Inordertree(bitree t)
{
	//中序序列遍历二叉树
	if(t)
	{
		Inordertree(t->lchild);
		printf("%c",t->data);
		Inordertree(t->rchild);
	}
}

void Pasttree(bitree t)
{
   //后序序列遍历二叉树
	if(t){
	Pasttree(t->lchild);
	Pasttree(t->rchild);
	printf("%c",t->data);
	}
}
编译执行结果例如以下:
<img src="http://img.blog.csdn.net/20140530230219765"  />