文章
54
粉丝
0
获赞
12
访问
1.1k
#include<iostream>
#include<map>
using namespace std;
const int N=110;
struct tr{
int value;
tr *l,*r;
};
int n;
void create(int x,tr* &t)
{
if(t==nullptr)
{
t=new tr;
t->value=x;
}
else
{
if(t->value<x)
create(x,t->r);
else
create(x,t->l);
}
}
void l(tr *t)
{
if(t==nullptr)
return;
cout<<t->value<<" ";
l(t->l),l(t->r);
}
void m(tr *t)
{
if(t==nullptr)
return;
m(t->l);
cout<<t->value<<" ";
m(t->r);
}
void r(tr *t)
{
if(t==nullptr)
return;
r(t->l);
r(t->r);
cout<<t->value<<" ";
}
int main()
{
while(cin>>n)
{
map<int,int> a;
tr *t=nullptr;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
if(a.count(x))
continue;
a[x]=1;
create(x,t);
}
l(t);
puts("");
m(t);
puts("");
r(t);
puts("");
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发