树结构练习——排序二叉树的中序遍历
2017-05-25 20:05
127 查看
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> using namespace std; struct node { int data; node *lch,*rch; }; int k,n,i; void creat(node *&root,int ch) { if(root==NULL) { root=(node *)malloc(sizeof(node)); root->lch=NULL; root->rch=NULL; root->data=ch; } else { if(ch<root->data) creat(root->lch,ch); else creat(root->rch,ch); } } void mid(node *&root) { if(root) { mid(root->lch); if(k==1) { printf("%d",root->data); k++; } else printf(" %d",root->data); mid(root->rch); } } int main() { while(~scanf("%d",&n)) { k=1; struct node *root=NULL; while(n--) { scanf("%d",&i); creat(root,i); } mid(root); printf("\n"); } }
相关文章推荐
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- SDUT OJ 树结构练习——排序二叉树的中序遍历
- SDUT 2128 树结构练习——排序二叉树的中序遍历
- SDUT-树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 暑假集训 8.11 树结构练习——排序二叉树的中序遍历 sdutoj2128
- 树结构练习——排序二叉树的中序遍历 分类: 树 2015-06-21 11:05 12人阅读 评论(0) 收藏
- SDUT2128树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- SDUTOJ 2128 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- sdut 2128 树结构练习——排序二叉树(BST)的中序遍历
- SDUT 2128 树结构练习 排序二叉树的中序遍历
- 数据结构之二叉树 树结构练习——排序二叉树的中序遍历 (排序建树+中序遍历)
- 树结构练习——排序二叉树的中序遍历