SDUT2128排序二叉树的中序遍历
来源:互联网 发布:小米手机关闭miui优化 编辑:程序博客网 时间:2024/06/10 05:57
树结构练习——排序二叉树的中序遍历
Time Limit: 1000MS Memory limit: 65536K
题目描述
在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的关键值 (3).任意一个节点的右子树(如果存在的话)的关键值大于该节点的关键值。现给定一组数据,请你对这组数据按给定顺序建立一棵排序二叉树,并输出其中序遍历的结果。
输入
输入包含多组数据,每组数据格式如下。
第一行包含一个整数n,为关键值的个数,关键值用整数表示。(n<=1000)
第二行包含n个整数,保证每个整数在int范围之内。
输出
为给定的数据建立排序二叉树,并输出其中序遍历结果,每个输出占一行。
示例输入
1221 20
示例输出
21 20#include <stdio.h>#include <stdlib.h>int s[1000000],jin=0;struct node{ int data; struct node *rchild,*lchild;}*toop;struct node *creat(struct node *toop,int k){ if(toop==NULL) { toop=(struct node *)malloc(sizeof(struct node)); toop->lchild=NULL; toop->rchild=NULL;toop->data = k; } else { if(k<toop->data) { toop->lchild=creat(toop->lchild,k); } else { toop->rchild=creat(toop->rchild,k); } }return toop;}void bianli(struct node *toop){if(toop!=NULL){bianli(toop->lchild);s[jin++]=toop->data;bianli(toop->rchild);}}int main(){int n; while(~scanf("%d",&n)){struct node *toop; int x,i; toop=NULL;for(i=0;i<n;i++){scanf("%d",&x); toop=creat(toop,x);}jin=0; bianli(toop);for(i=0;i<jin;i++){printf("%d",s[i]);if(i<jin-1)printf(" ");}printf("\n");} return 0;}
0 0
- SDUT2128排序二叉树的中序遍历
- SDUT2128 排序二叉树的中序遍历
- SDUT2128树结构练习——排序二叉树的中序遍历
- 排序二叉树的中序遍历
- 树结构练习-排序二叉树的中序遍历
- sdut oj 2128排序二叉树的中序遍历
- 二叉搜索树的中序遍历排序
- 排序二叉树的建立与中序遍历
- 建立排序二叉树并中序遍历
- 数据结构-中序遍历线索二叉树,堆排序
- 构造排序二叉树并输出前序遍历、中序遍历、后序遍历
- java 实现排序二叉树的插入和前序,中序,后序遍历
- 二叉树的中序遍历
- 二叉树的中序遍历
- 线索二叉树的中序遍历
- 有关二叉树的中序遍历
- 二叉树的中序遍历
- 二叉树的中序遍历算法
- PlayerPrefsX的用法
- GDB
- 上机作业5
- RDD:基于内存的集群计算容错抽象
- 【Monogdb】MongoDB之十大应用设计技巧
- SDUT2128排序二叉树的中序遍历
- C++:istreambuf_iterator与istream_iterator的区别
- 黑马程序员---08内存管理(ARC)
- js 程序员必备的5个debug技巧
- Win10应用商店:允许企业用户定制私有区域
- 工信部副部长尚冰:将尽快缩小与发达国家宽带差距
- 苹果公司更新iWork办公套件:云端支持中文
- 这家企业用户为何背离微软转投谷歌?
- 富士康:明年将在台湾专为苹果建工厂