博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前序和中序转换成二叉树
阅读量:6431 次
发布时间:2019-06-23

本文共 968 字,大约阅读时间需要 3 分钟。

#include
#include
#include
#include
#include
#include
#include"Test.h"using namespace std;struct Node{ int data; Node *left; Node *right;};int pre[]={ 1,2,4,7,3,5,6,8};int mid[]={ 4,7,2,1,5,3,8,6};Node *f(int pre[],int a,int b,int mid[],int m,int n){ if(b-a+1!=n-m+1) throw std::exception("Invalid input!"); if(a>b||m>n) return NULL; int i; Node *p=NULL; for(i=m;i<=n;i++) { if(mid[i]==pre[a]) { p=new Node(); p->data=mid[i]; p->left=f(pre,a+1,a+i-m,mid,m,i-1); p->right=f(pre,a+i-m+1,b,mid,i+1,n); return p; } } throw std::exception("Invalid input!");}Node *Construct(int pre[],int m,int mid[],int n){ if(pre==NULL||mid==NULL||m!=n||m<0) throw std::exception("Invalid Input"); return f(pre,0,m-1,mid,0,n-1);}Node *t;void main(){ try { t=Construct(pre,8,mid,8); } catch(std::exception e) { cout<
<

 

转载于:https://www.cnblogs.com/dyc0113/p/3207629.html

你可能感兴趣的文章
HttpFileCollection类
查看>>
Eclipse使用常见设置
查看>>
控制台下的字符图像界面
查看>>
c++ 数组形参
查看>>
Memcache的安全
查看>>
KVM/Xen and libvirt: currentMemory, memory and ballooning
查看>>
metasploit 笔记
查看>>
hdu 2845(最大不连续子序列)
查看>>
J2me的异常处理和多线程
查看>>
选择、生成-EA与数据库的交互-by小雨
查看>>
客户网页WIZnet无线解决方案 之 太阳能逆变器
查看>>
CCRepeatForever和CCDelayTime
查看>>
android jni aotf 错误
查看>>
Azkaban的功能特点(二)
查看>>
[RxJS] Add debug method to Observable in TypeScript
查看>>
1、金融之关于BIAS
查看>>
[转]ASP.NET Core基本原理(11)-管理应用程序状态
查看>>
VS Code搭建.NetCore开发环境(一)
查看>>
01字典树贪心查询+建立+删除(个人模版)
查看>>
java-信息安全(十一)-非对称加密算法ECC以及ECDSA签名
查看>>