#include"iostream"
using namespace std; int pre[30];
int in[30];
int post[30]; int indexOfRootIn(int start,int stop,int root){
for(int j=start;j<=stop;j++){
if(in[j]==root){
return j;
}
}
return -1;
} void postOrder(int pre_start,int pre_end,int in_start,int in_end,int length){
if(length==0)
return; if(length==1){
cout<<in[in_start]<<endl;
return;
} int root = pre[pre_start];
int index = indexOfRootIn(in_start,in_end,root); int len1=(index-in_start);
int len2=(in_end-index); postOrder(pre_start+1,pre_start+index,in_start,index-1,len1);
postOrder(pre_start+index+1,pre_end,index+1,in_end,len2); cout<<root<<" "<<endl;
} void preOrder(int post_start,int post_end,int in_start,int in_end,int length){
if(length==0)
return; if(length==1){
cout<<in[in_start]<<endl;
return;
} int root = post[post_end];
int index = indexOfRootIn(in_start,in_end,root); int len1= index-in_start;
int len2= in_end-index; cout<<root<<" "<<endl;
preOrder(post_start,post_start+index-1,in_start,index-1,len1);
preOrder(post_start+index,post_end-1,index+1,in_end,len2);
} int main(){
int N; cin>>N;
for(int i=0;i<N;i++){
cin>>post[i];
}
for(int i=0;i<N;i++){
cin>>in[i];
}
preOrder(0,N-1,0,N-1,N);
return 0;
}

最新文章

  1. 如何在 ASP.NET 4.6 与 IIS10 中运用 HTTP/2 ?
  2. Gold Game
  3. Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表
  4. [SLAM]2D激光线特征提取
  5. Queue、进程、线程、协程
  6. Java之对象池
  7. Android N分屏模式Activity生命周期的变化
  8. Kali+Win7双系统
  9. gulp前端自动化工作流
  10. win10 uwp 改变鼠标
  11. 【ANT】运行JMeter用例的build.xml
  12. 从1.5K到18K,一个程序员的5年成长之路
  13. ubuntu临时修改ip,mac的方法示例
  14. C# 对串口的操作
  15. JavaScript 获取完整当前域名
  16. 《Mysql 锁》
  17. Vux项目搭建
  18. 中间人攻击工具mitmf(另类的XSS注入攻击)
  19. javaweb-Excel导入导出后台代码
  20. 转载 Linux top命令详解

热门文章

  1. [Tools]迁移Confluence, JIRA, Fisheye
  2. STUN和TURN技术浅析
  3. MySQL中的约束简单使用
  4. 智能车学习(十三)&mdash;&mdash;角度控制
  5. java Clone使用方法详解
  6. session应用----登录验证小案例
  7. String的一些总结(JAVA)
  8. 转载:Robotium之Android控件定位实践和建议(Appium/UIAutomator姊妹篇)
  9. 80端口被占用,pid=4强制杀进程杀不掉
  10. Angular JS中的依赖注入