树结构练习——排序二叉树的中序遍历
来源:互联网 发布:iphone手机编程软件 编辑:程序博客网 时间:2024/06/06 03:22
Problem Description
在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的关键值 (3).任意一个节点的右子树(如果存在的话)的关键值大于该节点的关键值。现给定一组数据,请你对这组数据按给定顺序建立一棵排序二叉树,并输出其中序遍历的结果。
Input
输入包含多组数据,每组数据格式如下。
第一行包含一个整数n,为关键值的个数,关键值用整数表示。(n<=1000)
第二行包含n个整数,保证每个整数在int范围之内。
Output
为给定的数据建立排序二叉树,并输出其中序遍历结果,每个输出占一行。
Example Input
1
2
2
1 20
Example Output
2
1 20
#include <stdio.h>#include <stdlib.h>int k=0;typedef struct node{ int date; struct node *l,*r;}tree;tree *creat(tree *t,int x){ if(t==NULL) { t=(tree *)malloc(sizeof(tree)); t->date=x; t->r=NULL; t->l=NULL; return t; } else { if(x<t->date) { t->l=creat(t->l,x); } else t->r=creat(t->r,x); } return t;}void zhong(tree *t){ if(t) { zhong(t->l); if(t->date!=0) { if(k==0) printf("%d",t->date); else printf(" %d",t->date); k++; } zhong(t->r); }}int main(){ int n,l,i,x,m; tree *t; while(~scanf("%d",&n)) { k=0; t=(tree*)malloc(sizeof(tree)); while(n--) { scanf("%d",&x); creat(t,x); } zhong(t); printf("\n"); } return 0;}/***************************************************User name: Result: AcceptedTake time: 0msTake Memory: 132KBSubmit time: 2017-02-09 20:38:41****************************************************/
0 0
- 树结构练习-排序二叉树的中序遍历
- SDUTOJ 2128 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- SDUT 2128 树结构练习——排序二叉树的中序遍历
- SDUTOJ 2128 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历 SDUT
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历(sdut_2128)
- SDUT 2128 树结构练习——排序二叉树的中序遍历
- 从贝叶斯方法谈到贝叶斯网络
- java面试题(2)-集合相关面试题
- 利用二叉树设计同学录管理系统
- Crackme 24
- LeetCode-31. Next Permutation
- 树结构练习——排序二叉树的中序遍历
- 对于康拓展开的理解
- 对JDBC驱动注册--DriverManager.registerDriver和 Class.forName()的理解
- mysql内存优化
- sql
- glibc,EGLIBC, uclibc的区别
- 优信二手车以创新迎接机遇与挑战
- dataTable 总结
- (转)芒格2017年DJCO年会精彩问答