九度OJ——1201二叉排序树
来源:互联网 发布:java项目目录结构 编辑:程序博客网 时间:2024/05/17 22:30
题目描述:
输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。
输入:
输入第一行包括一个整数n(1<=n<=100)。
接下来的一行包括n个整数。
输出:
可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。
每种遍历结果输出一行。每行最后一个数据之后有一个空格。
样例输入:
5
1 6 5 9 8
样例输出:
1 6 5 9 8
1 5 6 8 9
5 8 9 6 1
提示:
输入中可能有重复元素,但是输出的二叉树遍历序列中重复元素不用输出。
思路:很基础的题,二叉排序树的构建与二叉树的遍历。
AC代码:
#include <iostream>using namespace std;class BinarySearchTree{ private: int data; BinarySearchTree* lchild; BinarySearchTree* rchild; public: //插入函数 BinarySearchTree* Insert(BinarySearchTree* bst,int data){ if(!bst){ bst = new BinarySearchTree; bst->data = data; bst->lchild = bst->rchild = NULL; }else if(data > bst->data){ bst->rchild = this->Insert(bst->rchild,data); }else if(data < bst->data){ bst->lchild = this->Insert(bst->lchild,data); } return bst; } //前序遍历 void PreorderTraversal(BinarySearchTree* bst){ if(!bst){ return; } cout<<bst->data<<" "; bst->PreorderTraversal(bst->lchild); bst->PreorderTraversal(bst->rchild); } //中序遍历 void InorderTraversal(BinarySearchTree* bst){ if(!bst){ return; } bst->InorderTraversal(bst->lchild); cout<<bst->data<<" "; bst->InorderTraversal(bst->rchild); } //中序遍历 void PostorderTraversal(BinarySearchTree* bst){ if(!bst){ return; } bst->PostorderTraversal(bst->lchild); bst->PostorderTraversal(bst->rchild); cout<<bst->data<<" "; }};int data,N;BinarySearchTree* bst;int main(){ while(cin>>N){ bst = NULL; for(int i = 0 ; i < N ; i++){ cin>>data; bst = bst->Insert(bst,data); } bst->PreorderTraversal(bst); cout<<endl; bst->InorderTraversal(bst); cout<<endl; bst->PostorderTraversal(bst); cout<<endl; } return 0;}
阅读全文
0 0
- 九度OJ——1201二叉排序树
- 九度oj 1201:二叉排序树
- 九度OJ 1201 二叉排序树
- 九度OJ-1201-二叉排序树
- 九度OJ - 1201 - 二叉排序树
- 九度OJ-1201-二叉排序树
- 九度OJ 1201 二叉排序树
- 九度oj 题目1201:二叉排序树
- 九度oj 二叉排序树 1201,1009 c++
- 九度OJ题目1201:二叉排序树
- 九度OJ题目1201:二叉排序树
- 九度OJ 1467 二叉排序树
- 九度OJ 1467 二叉排序树
- 九度oj-1467-二叉排序树
- 九度OJ - 1467 - 二叉排序树
- 九度OJ 1467 二叉排序树
- 九度OJ 1201:二叉排序树 (二叉树)
- 九度oj 1201 二叉排序树的创建+遍历
- CSS样式引入方式和部分CSS样式的设置
- 树莓派使用ubuntu mate
- 闭包的运用-点赞-计数器
- SprintBoot学习笔记004(dao层jpa接口)
- 计数排序
- 九度OJ——1201二叉排序树
- Tensorflow基础:模型持久化
- 日期+序列构建系统唯一序列号(二)
- QT(1):空工程建立程序方式与文本建立程序方式的运行
- flask 的url_for
- 大数据算法面试题
- inline关键字
- 创建一个类Student
- CorelDRAW画花即好看又简单的实现这些功能