二叉树基本操作-数据结构

数据结构—二叉树基本操作

编程实现如下功能:
(1)假设二叉树的结点值是字符,根据输入的一棵二叉树的括号表示法建立一棵以二叉链表表示的二叉树。
(2)对二叉树进行先序、中序和后序遍历操作,并输出遍历序列,观察输出的序列是否与逻辑上的序列一致。

#include 
#include 
#define MAXSIZE 30  
#define NULL 0
#define ok 1
#define overflow -2
typedef char ElemType;


typedef struct BiTreeNode
{
  ElemType data;
  struct BiTreeNode *LChild,*RChild;   //队头指针,队尾指针;
  int height;  //二叉树高度
}BiTreeNode,*BiTree;
//先序建立二叉树
void InitBiTree(BiTree &T)
{
  return;
}
BiTree CreateBiTree( char *str,int i,int m)
{
  
  BiTree p;
  if(i>=m){
	  return NULL;}
    p=new BiTreeNode;
	p->data=str[i];
	printf("%c",p->data);
	p->LChild=CreateBiTree(str,2*i+1,m);  //创建结点左子树
	p->RChild=CreateBiTree(str,2*i+2,m);  //创建结点右子树
  return p;
}
//访问
void visit(char c)
{
 printf("the node is :%c\n",c);
}

//先序遍历二叉树
void PreOrder(BiTree T)

你可能感兴趣的:(数据结构,数据结构,c++)