二叉树的基本操作
二叉树的基本操作
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
二叉树类,能够对二叉树进行先序、中序、后序和层序遍历,遍历的操作为输出结点的
值,设计主函数,输入一棵二叉树,按先序、中序、后序、层序的遍历顺序输出结点的值。
#include
using namespace std;
struct BidNode
{
int data;
BidNode *lchild;
BidNode *rchild; };
class BiTree
{
public:
BiTree()
{
root=Creat(root);
}
~BiTree()
{
Release(root);
}
void Inorder()
{
Inorder(root);
}
void Postorder()
{
Postorder(root);
}
void Preorder()
{
Preorder(root);
}
void Leverorder();
private:
BidNode *root;
BidNode *Creat(BidNode *bt);
void Inorder(BidNode *bt);
void Postorder(BidNode *bt);
void Preorder(BidNode *bt);
void Release(BidNode *bt); };
void BiTree::Preorder(BidNode *bt) {
if (bt==NULL)return;
else
{
cout << bt->data << " ";
Preorder(bt->lchild);
Preorder(bt->rchild);
}
}
void BiTree::Inorder(BidNode*bt) {
if (bt==NULL)return;
else
{
Inorder(bt->lchild);
cout << bt->data <<" ";
Inorder(bt->rchild);
}
}
void BiTree::Postorder(BidNode*bt) {
if (bt==NULL)return;
else
{
Postorder(bt->lchild);
Postorder(bt->rchild);
cout << bt->data <<" ";
}
}