博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
遍历二叉查找树
阅读量:7218 次
发布时间:2019-06-29

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

1002. 二叉查找树的遍历
 
 
Total: 111 Accepted: 73
 
     
     
 
Time Limit: 1sec    Memory Limit:256MB
Description

给定一组无序整数,以第一个元素为根节点,生成一棵二叉搜索树,对其进行中序遍历和先序遍历。

Input
输入包括多组测试数据,每组测试数据包含两行:第一行为整数m(1<=m<=3000),表示该组数据中整数的数目,第二行给出m个整数,相邻整数间用一个空格间隔。最后一组测试数据后紧跟着包含0的一行输入,标识输入的结束。
Output
每组测试数据产生两行输出,第一行是中序遍历结果,第二行是先序遍历结果,每个整数后面带一个空格(包括最后一个整数),每行中第一个整数前无空格。
Sample Input
 Copy sample input to clipboard
910 4 16 9 8 15 21 3 12620 19 16 15 45 480
Sample Output
3 4 8 9 10 12 15 16 2110 4 3 9 8 16 15 12 2115 16 19 20 45 4820 19 16 15 45 48
#include
using namespace std;struct BitNode{ int data; BitNode* lchild; BitNode* rchild;};//重建二叉查找树void build(BitNode* T, int num){ //if bigger than the root if(T->data>num) { if(!T->lchild) //if no have left son { BitNode* lt=new BitNode(); lt->data=num; lt->lchild=NULL; lt->rchild=NULL; T->lchild=lt; } else // if have left son, recurise build(T->lchild, num); } else //if smaller than the root { if(!T->rchild) { BitNode* rt=new BitNode(); rt->data=num; rt->lchild=NULL; rt->rchild=NULL; T->rchild=rt; } else build(T->rchild, num); }}//前序遍历void preorder(BitNode* T){ if(T) { cout<
data<<" "; preorder(T->lchild); preorder(T->rchild); }}//中序遍历void inorder(BitNode* T){ if(T) { inorder(T->lchild); cout<
data<<" "; inorder(T->rchild); }}int main(){ int n; while(cin>>n&&n) { int num; BitNode* T=new BitNode(); cin>>num; T->data=num; T->lchild=NULL; T->rchild=NULL; while(--n>0) { cin>>num; build(T, num); } inorder(T); cout<

  

转载于:https://www.cnblogs.com/KennyRom/p/6209212.html

你可能感兴趣的文章
/*10个filter的属性*/ ---毛玻璃效果
查看>>
折半查找习题解答
查看>>
51单片机的P1
查看>>
[32]JSON
查看>>
3689: 异或之
查看>>
字符串模式匹配KMP算法
查看>>
Android Drawable和Bitmap图片之间转换
查看>>
Debian 8 安装 Nvidia 显卡驱动
查看>>
nginx静态文件访问
查看>>
SharePoint 2013中的默认爬网文件扩展名和分析文件类型
查看>>
c#-冒泡排序-算法
查看>>
IP釋放、清除、以及刷新DNS
查看>>
第二次作业
查看>>
小知识
查看>>
安装Vmware时竟然也会报错,错误信息见图
查看>>
20179311《网络攻防实践》第三周作业
查看>>
Ural 1042 Central Heating
查看>>
css兼容问题大全
查看>>
2018-2019-1 20165324《信息安全系统设计基础》实验五
查看>>
使用 Applet 渲染 jzy3d WireSurface 波动率曲面图
查看>>