九度OJ - 1201 - 二叉排序树
来源:互联网 发布:国考经验知乎 编辑:程序博客网 时间:2024/05/29 10:06
题目描述
输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。
输入
输入第一行包括一个整数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
提示
输入中可能有重复元素,但是输出的二叉树遍历序列中重复元素不用输出。
来源
2005年华中科技大学计算机保研机试真题
建树注意一下,很坑啊,静态数组会爆的 = =,
#include<cstdio>#include<cstring>#include<iostream>#include<stdlib.h>#include<algorithm>#include<malloc.h>using namespace std;int n;int num[105];typedef struct Tree{ int data; struct Tree *rchild, *lchild;}BiTNode, *BiTree;BiTree T1;void createTree(BiTree &T, int i){ if(i > n) return; if(T == NULL){ T = (BiTNode *)malloc(sizeof(BiTNode)); T->data = num[i]; T->lchild = T->rchild = NULL; } else if(T->data > num[i]){ createTree(T->lchild, i); } else if(T->data < num[i]) createTree(T->rchild, i);}void build(BiTree &T){ //创建二叉排序树 T = NULL; for(int i = 1; i <= n; i++) createTree(T, i);}void preOrderTree(BiTree &T){ //前序遍历 if(T == NULL) return; cout << T->data << " "; preOrderTree(T->lchild); preOrderTree(T->rchild);}void inOrderTree(BiTree &T){ //中序遍历 if(T == NULL) return; inOrderTree(T->lchild); cout << T->data << " "; inOrderTree(T->rchild);}void backOrderTree(BiTree &T){ //后序遍历 if(T == NULL) return; backOrderTree(T->lchild); backOrderTree(T->rchild); cout << T->data << " ";}int main(){ while(scanf("%d", &n)!=EOF && n){ for(int i = 1; i <= n; i++) cin >> num[i]; T1 = NULL; build(T1); preOrderTree(T1); cout << endl; inOrderTree(T1); cout << endl; backOrderTree(T1); cout << endl; } return 0;}
0 0
- 九度oj 1201:二叉排序树
- 九度OJ 1201 二叉排序树
- 九度OJ-1201-二叉排序树
- 九度OJ - 1201 - 二叉排序树
- 九度OJ-1201-二叉排序树
- 九度OJ 1201 二叉排序树
- 九度oj 题目1201:二叉排序树
- 九度oj 二叉排序树 1201,1009 c++
- 九度OJ题目1201:二叉排序树
- 九度OJ题目1201:二叉排序树
- 九度OJ——1201二叉排序树
- 九度OJ 1467 二叉排序树
- 九度OJ 1467 二叉排序树
- 九度oj-1467-二叉排序树
- 九度OJ - 1467 - 二叉排序树
- 九度OJ 1467 二叉排序树
- 九度OJ 1201:二叉排序树 (二叉树)
- 九度oj 1201 二叉排序树的创建+遍历
- 关于缺少各种framework出现的错误累结
- hdu4764 2013长春网赛
- 欢迎使用CSDN-markdown编辑器
- python面向对象编程基础II(类的继承)
- iOS中Bitcode的介绍及配置
- 九度OJ - 1201 - 二叉排序树
- Web项目部署到tomcat
- Boost库各个版本下载地址
- 大话设计模式java版本 第一章 简单工程模式
- java基本类型中的类型转换
- android Connot reload AVD list问题解决方案
- 解决上一篇文章Python-socket-ssl出现的问题
- iOS巅峰之layoutSubviews在什么时候调用
- Retrofit Rxjava 实现图片下载、保存并展示