二叉树操作程序不是按顺序进行!上代码,大家解答下
程序代码:
void Tree::PreOrder(TreeNode* b)//前序遍历
{
if(b==NULL)
return;
else
{
cout<<b->data<<"\t";
PreOrder(b->lchild);
PreOrder(b->rchild);
}
}
void Tree::InOrder(TreeNode* b)//中续遍历
{
if(b==NULL)
return;
else
{
InOrder(b->lchild);
cout<<b->data<<"\t";
InOrder(b->rchild);
}
}
void Tree::PostOrder(TreeNode* b)//后续遍历
{
if(b==NULL)
return;
else
{
PostOrder(b->lchild);
PostOrder(b->rchild);
cout<<b->data<<"\t";
}
}
while(n)
{
switch(n)
{
case 1:
{
cout<<"这是前序遍历"<<endl;
tree.PreOrder();
break;
}
case 2:
{
cout<<"这是前序遍历"<<endl;
tree.InOrder();
break;
}
case 3:
{
cout<<"这是前序遍历"<<endl;
tree.PostOrder();
break;
}
运行结果








