二叉树操作程序不是按顺序进行!上代码,大家解答下
程序代码:
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; }
运行结果