#include
#include
#include
using namespace std;
前序遍历
void preorder1(bintree t)
{
vectors;
bintree p=t;
while(p!=NULL||!s.empty()){
while(p!=NULL){
cout<data<<" ";
s.push_back(p);
p=p->lchild;
}
if(!s.empty()){
p=s.back();
s.pop_back();
p=p->rchild;
}
}
}
中序遍历
void inorder1(bintree t)
{
vectors;
bintree p=t;
while(p!=NULL||!s.empty()){
while(p!=NULL){
s.push_back(p);
p=p->lchild;
}
if(!s.empty()){
p=s.back();
cout<data<<" ";
s.pop_back();
p=p->rchild;
}
}
}
后序遍历
void postorder1(bintree t)
{
vectors;
vector v;
bintree p=t;
while(p!=NULL||!s.empty()){
while(p!=NULL){
v.push_back(p->data);
s.push_back(p);
p=p->rchild;
}
if(!s.empty()){
p=s.back();
s.pop_back();
p=p->lchild;
}
}
reverse(v.begin(), v.end());
for(int i=0;i
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)