博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Data Structure Binary Tree: Construct Full Binary Tree from given preorder and postorder traversals
阅读量:4708 次
发布时间:2019-06-10

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

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 using namespace std;10 11 struct node {12 int data;13 struct node *left, *right;14 node() : data(0), left(NULL), right(NULL) { }15 node(int d) : data(d), left(NULL), right(NULL) { }16 };17 18 void prints(node *root) {19 if (!root) return;20 prints(root->left);21 cout << root->data << " ";22 prints(root->right);23 }24 25 node *_buildtree(int pre[], int post[], int &preindex, int l, int h, int size) {26 if (preindex >= size || l > h) return NULL;27 node *root = new node(pre[preindex++]);28 if (l == h) return root;29 int i = l;30 for (; i <= h; i++) if (pre[preindex] == post[i]) break;31 if (i <= h) {32 root->left = _buildtree(pre, post, preindex, l, i, size);33 root->right = _buildtree(pre, post, preindex, i+1, h, size);34 }35 return root;36 }37 38 node *buildtree(int pre[], int post[], int size) {39 int preindex = 0;40 return _buildtree(pre, post, preindex, 0, size-1, size);41 }42 43 int main() {44 int pre[9] = { 1, 2, 4, 8, 9, 5, 3, 6, 7};45 int post[9] = { 8, 9, 4, 5, 2, 6, 7, 3, 1};46 node *root = buildtree(pre, post, 9);47 prints(root);48 return 0;49 }

 

转载于:https://www.cnblogs.com/yingzhongwen/p/3632085.html

你可能感兴趣的文章
文件操作
查看>>
LLL
查看>>
Reaver linux 安装教程
查看>>
树莓派学习笔记——Restful服务 采用slim php apache
查看>>
常见安全漏洞及整改建议[备忘]
查看>>
同IP不同端口Session冲突问题
查看>>
linux上安装Docker
查看>>
NoSQL数据库介绍(2)
查看>>
判断素数
查看>>
4.Oracle 密码文件
查看>>
jwchat 的安装和配置、Service unavailable、Authorization failed问题汇总
查看>>
人,男人,女人
查看>>
在Ubuntu下创建一个新的用户
查看>>
机顶盒中动画、倒影、悬浮效果实现!!!!
查看>>
分享一个3D球面标签云
查看>>
php中的$_GET怎样获取带有井号“#”的參数
查看>>
读取硬盘序列号
查看>>
Socket程序中的Error#10054错误
查看>>
浅谈滚服游戏如果实现一键合服
查看>>
iOS中UITableView分割线左侧顶齐
查看>>