首页 > 代码库 > 二叉树的基本操作及应用(三)

二叉树的基本操作及应用(三)

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
typedef char DataType;
int depth=0;
int h1=1;
int nlayer=1;
char ch2;
typedef struct node
{
   DataType data;//节点数据元素
   struct node *lchild;//指向左孩子
   struct node *rchild;//指向右孩子
}BinTNode,*BinTree;
void GetPreOrder(char *last,char *mid,BinTree &T,int len)
{//利用后序和中序建立二叉树
	if(len==0)
	{
		T = NULL;
		return;
	} //取出后序序列中的最后一个节点
	char ch=last[len-1];
	int index=0;  //在中序序列中进行查找根节点,并用index记录其在序列中的索引
	while(mid[index]!=ch)
	{
		index++;
	} 
	T=(BinTree)malloc(sizeof(BinTNode)); //给根节点分配空间
	T->data=http://www.mamicode.com/mid[index];  >

二叉树的基本操作及应用(三)