2016/11/10 1002. 二叉查找树的遍历
来源:互联网 发布:域名别名解析 编辑:程序博客网 时间:2024/05/17 02:15
先按输入构建出二叉树,然后遍历即可。二叉查找树的建立不难,对每一个输入,从根节点出发,小的往左,大的往右,若空则插入即可。
#include <iostream>using namespace std;class Node{public:Node(int a = 0){v = a;left = nullptr;right = nullptr;}Node *left;Node *right;int v;};class Tree{public:Tree(int a=0){root = new Node(a);}void insert(int a){Node* p = root;for (;;){if (a > p->v){if (p->right == nullptr){p->right = new Node(a);break;}else{p = p->right;continue;}}if (a < p->v){if (p->left == nullptr){p->left = new Node(a);break;}else{p = p->left;continue;}}}}Node *root;};void inorder(Node *root){if (root == nullptr){return;}inorder(root->left);cout << root->v << " ";inorder(root->right);}void preorder(Node *root){if (root == nullptr){return;}cout << root->v << " ";preorder(root->left);preorder(root->right);}int main(){int t;for (;;){cin >> t;if (t == 0)break;int temp;cin >> temp;Tree T(temp);for (int i = 2; i <= t; i++){int a;cin >> a;T.insert(a);}inorder(T.root);cout << endl;preorder(T.root);cout << endl;}}
0 0
- 2016/11/10 1002. 二叉查找树的遍历
- 二叉树的遍历、查找
- 二叉查找树的建立,遍历,查找
- 查找--遍历二叉树
- 遍历二叉查找树
- 二叉查找树的遍历总结
- 二叉查找树的插入与遍历
- 二叉查找树的构造及其遍历
- 二叉树的遍历、计算、查找
- 二叉查找树的创建及遍历
- 数据结构二叉树的查找与遍历
- 二叉查找树的后序遍历
- 二叉查找树的创建和遍历
- 二叉查找树的层序遍历
- 二叉树的遍历和查找
- 二叉树的建立,遍历查找
- 二叉查找树的构建及遍历
- 二叉树的遍历和二叉查找树
- jQuery表单选择器
- iTop4412开发板的模块配置方法
- CSS初始化
- 论文笔记:CTC
- Django & Docker项目结构实践 2
- 2016/11/10 1002. 二叉查找树的遍历
- 碎片为什么会导致mysql查询访问变慢
- UVa 11971 Polygon
- android开发登录注册通用英文
- 微信小程序开发指南合集 各类组件用法技巧
- Android应用开发:Fragment
- RadioGroup+Fragment实现页面之间的切换
- 译文:使用MVC5的Entity Framework 6入门(八)——为ASP.NET MVC应用程序更新相关数据
- 讨论全国卷2012年数学高考(理科)一道数学题