PATA-1020. Tree Traversals (25)
来源:互联网 发布:mac 安装lamp 编辑:程序博客网 时间:2024/06/05 08:17
题意:
给中序,后序,输出层序遍历
#include<stdio.h>#include<stdlib.h>#include<iostream>#include <queue>using namespace std;int Back[105];int In[105];typedef struct node *TreeBin;struct node{ TreeBin left,right; int data;};TreeBin CreatTree( int *In,int *Back,int n ){ if(n==0) return NULL; TreeBin Tree=(TreeBin)malloc(sizeof(struct node)); Tree->data=Back[n-1]; int pos=0; for(int i=0;i<n;i++) { if(In[i]==Back[n-1]) { pos=i; break; } } Tree->left=CreatTree(In,Back,pos); Tree->right=CreatTree(In+pos+1,Back+pos,n-pos-1 ); return Tree;}void over(TreeBin T){ if(!T) return ; queue<TreeBin> q; q.push(T); int yes=1; while(!q.empty()) { if(!yes) cout<<" "; else yes=0; TreeBin s=q.front(); printf("%d",s->data); if(s->left!=NULL) { q.push(s->left); } if(s->right!=NULL) { q.push(s->right); } q.pop(); }}int main(){ int n; cin>>n; for(int i=0;i<n;i++) { cin>>Back[i]; } for(int i=0;i<n;i++) { cin>>In[i]; } TreeBin T; T=CreatTree( In,Back,n ); over(T); return 0;}
0 0
- PATA-1020. Tree Traversals (25)
- PATA 1020 Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 【unity editor】通过拖拽获取文件路径
- Markdown编辑器指南
- 第十六周项目1验证算法--(3)冒泡排序
- Android照相和录音功能的使用
- 传统Socket编程的回顾(二)
- PATA-1020. Tree Traversals (25)
- C++的RTTI(dynamic_cast与typeid)
- IHookHelper的用法
- 提问:如何设计含复杂数据客户端存储交互的前端架构
- 51nod-1052 最大M子段和
- Welcome!
- MySQL根据根据经纬度查询距离
- 使用JDB调试Java程序
- POJ 3268 Silver Cow Party 笔记