#include<iostream>
using namespace std;
struct bitNode
{
char data;
bitNode *lchild, *rchild;
} ;
void createBiTree ( bitNode *&T )
{
char ch;
cin >> ch;
if ( ch == '#' )
T = nullptr;
else
{
T = new bitNode;
T->data = ch;
createBiTree(T->lchild);
createBiTree(T->rchild);
}
}
void operation1(char ch)
{
cout<<ch<<" ";
}
void preOrder(bitNode *T)
{
if(T==nullptr)
return;
operation1(T->data);
preOrder(T->lchild);
preOrder(T->rchild);
}
void inOrder(bitNode *T)
{
if(T==nullptr)
return;
inOrder(T->lchild);
operation1(T->data);
inOrder(T->rchild);
}
void postOrder(bitNode *T)
{
if(T==nullptr)
return;
postOrder(T->lchild);
postOrder(T->rchild);
operation1(T->data);
}
int main()
{
bitNode *T=nullptr;
createBiTree(T);
cout<<"前序 "<<endl;
preOrder(T);
cout<<endl;
cout<<"中序 "<<endl;
inOrder(T);
cout<<endl;
cout<<"后序 "<<endl;
postOrder(T);
return 0;
}
C++ 二叉树建立,遍历
最新推荐文章于 2024-05-15 22:49:24 发布