题解

YourFather 2022-08-22 17:28:25

#include<bits/stdc++.h> using namespace std; struct node{ int num; node lc=NULL; node rc=NULL; }; void mid_print(node root) { if(root.lc!=NULL) mid_print((root.lc)); printf("%d ",root.num); if(root.rc!=NULL) mid_print((root.rc)); } void mid_order(node &root,int d) { if(d<root.num){ if(root.lc==NULL){ root.lc=new node; root.lc->num=d; return; } else mid_order((*root.lc),d); } else{ if(root.rc==NULL){ root.rc=new node; root.rc->num=d; return; } else mid_order((*root.rc),d); } } int main() { node a; int n,x; cin>>n; cin>>a.num; for(int i=2;i<=n;i++) { cin>>x; mid_order(a,x); } mid_print(a); return 0; }