二叉树操作程序不是按顺序进行!上代码,大家解答下
![](zzz/editor/img/code.gif)
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; }
运行结果
![](http://bbs_bccn_net.bccnsoft.com/006/month_1310/20131023_27074ab61e3de244d88elIjNiiM3oOYg.jpg)