博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树结构练习——排序二叉树的中序遍历
阅读量:5955 次
发布时间:2019-06-19

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

树结构练习——排序二叉树的中序遍历

题目描述

在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的关键值 (3).任意一个节点的右子树(如果存在的话)的关键值大于该节点的关键值。现给定一组数据,请你对这组数据按给定顺序建立一棵排序二叉树,并输出其中序遍历的结果。
 

输入

输入包含多组数据,每组数据格式如下。
第一行包含一个整数n,为关键值的个数,关键值用整数表示。(n<=1000)
第二行包含n个整数,保证每个整数在int范围之内。

输出

为给定的数据建立排序二叉树,并输出其中序遍历结果,每个输出占一行。
 

示例输入

1221 20

示例输出

21 20
#include
#include
int a[1000], k=0;struct node{ int data; struct node *l; struct node *r;};node *creat(node *p, int x){ if(p == NULL) { p = (node *)malloc(sizeof(node)); p->l = NULL; p->r = NULL; p->data = x; } else { if(x < p->data) p->l = creat(p->l, x); else p->r = creat(p->r, x); } return p;}void mid(node *p){ if(p != NULL) { mid(p->l); a[k++] = p->data; mid(p->r); }}int main(){ int n, num; while(scanf("%d", &n) != EOF) { node *p = NULL; for(int i=0; i

转载于:https://www.cnblogs.com/Genesis2018/p/9079860.html

你可能感兴趣的文章
mybatis主键返回的实现
查看>>
org.openqa.selenium.StaleElementReferenceException
查看>>
数论之 莫比乌斯函数
查看>>
linux下查找某个文件位置的方法
查看>>
python之MySQL学习——数据操作
查看>>
Harmonic Number (II)
查看>>
长连接、短连接、长轮询和WebSocket
查看>>
day30 模拟ssh远程执行命令
查看>>
做错的题目——给Array附加属性
查看>>
Url.Action取消字符转义
查看>>
JQuery选择器大全
查看>>
Gamma阶段第三次scrum meeting
查看>>
python3之装饰器修复技术@wraps
查看>>
[考试]20150606
查看>>
Javascript_备忘录5
查看>>
Can’t create handler inside thread that has not called Looper.prepare()
查看>>
敏捷开发方法综述
查看>>
Hadoop数据操作系统YARN全解析
查看>>
修改数据库的兼容级别
查看>>
Windows下同时安装两个版本Jdk
查看>>