#include<iostream>
#include<stdlib.h>
#include<assert.h>
#include<stack>
using namespace std;
typedef char Elemtype;
typedef struct BtNode
{
BtNode * lchild;
BtNode * rchild;
Elemtype data;
}BtNode,*BinaryTree;
//*购买节点*/
BtNode *Buynode()
{
BtNode *p =(BtNode*)malloc(sizeof(BtNode));
if(p==NULL) exit(1);
memset(p,0,sizeof(BtNode));
return p;
}
前序创建二叉树
//*前序创建二叉树*/
BtNode* PreCreate()
{
BtNode *ptr=NULL;
char ch;
cin>>ch;
if(ch!='#')
{
ptr=Buynode();
ptr->data=ch;
ptr->lchild=PreCreate();
ptr->rchild=PreCreate();
}
return ptr;
}
先序遍历(递归)
/*前序遍历(递归)*/
void PreOrder(BtNode*root)
{
if(root!=NULL)
{
cout<<root->data<<" ";
PreOrder(root->lchild);
PreOrder(root->rchild);
}
}
中序遍历(递归)
/*中序遍历(递归)*/
void InOrder(BtNode* root)
{
if(root)
{
InOrder(root->lchild);
cout<<root->data<<" ";
InOrder(root->rchild);
}
}
后序遍历(递归)
/*后序遍历(递归)*/
void LastOrder(BtNode*root)
{
if(root)
{
LastOrder(root->lchild);
LastOrder(root->rchild);
cout<<root->data<<" ";
}
}