#include<bits/stdc++.h>
using namespace std;
const int maxn=100005;
struct Tree{
int fa;
int l;
int r;
}tr[maxn];
void dfs(int x);
int a,b;
int n,m;
int EA;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a>>b;
if(tr[a].l) tr[a].r=b;
else tr[a].l=b;
tr[b].fa=a;
}//for//建树
for(int i=1;i<=n;i++){
if(tr[i].fa==0) EA=i;
}//for
dfs(EA);
return 0;
}//main
void dfs(int x){
cout<<x<<" ";
// cout<<tr[x].fa;
if(tr[x].l==0&&tr[x].r==0) return;
if(tr[x].l) dfs(tr[x].l);//if判断,否则输出0
if(tr[x].r) dfs(tr[x].r);
}
模板-树的遍历(先序)
最新推荐文章于 2022-06-26 18:22:10 发布