C语言版--二叉树

C语言版--二叉树

#include "head.h"//这里是你的常量头文件
#include "iostream.h"

typedef char TElemType;
typedef struct BiTNode{
  TElemType data;
  struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

Status CreateBiTree(BiTree &T)
{
  TElemType ch;
  cout<<"输入你想要的数据:";
  cin>>ch;
  if(ch=='@') T=NULL;
  else
  {
    T=new BiTNode;
 if(!T) return ERROR;
 T->data=ch;
 CreateBiTree(T->lchild);
 CreateBiTree(T->rchild);
  }
  return OK;
}
Status PreOrderTraverse(BiTree T)
{
 if(T)
 {
   cout<<T->data;
   PreOrderTraverse(T->lchild);
   PreOrderTraverse(T->rchild);
 }
 return OK;
}
Status InOrderTraverse(BiTree T)
{
  if(T)
  {
    InOrderTraverse(T->lchild);
 cout<<T->data;
 InOrderTraverse(T->rchild);
  }
  return OK;
}
Status PostOrderTraverse(BiTree T)
{
  if(T)
  {
    PostOrderTraverse(T->lchild);
 PostOrderTraverse(T->rchild);
 cout<<T->data;
 }
  return OK;
}
int BiTreeDepth(BiTree T)
{
  int m=0;


  return m;
}

你可能感兴趣的:(C语言版--二叉树)