(数据结构)排序二叉树
建立并中序遍历一个排序二叉树
排序二叉树是指左子树的所有节点的值均小于它根节点的值,右子树的所有节点的值均大于它根节点的值,如下图是一棵排序二叉树
输入:
输入有一行,表示若干个要排序的数,输入0时停止
输出:
二叉树的凹入表示
和二叉树的中序遍历序列
测试用例1:
测试输入:
42 168 35 101 270 125 79 259 263 165 6 246 182 62 192 296 243 28 37 0 ↵
期待的输出:
测试用例2:
测试输入:
147 106 291 130 71 51 7 202 94 249 132 24 85 0 ↵
期待的输出:
代码如下:
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode
{
int data;
struct BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
BiTree Search(BiTree p,int k)
{
if(k<p->data)
{
if(p->lchild==NULL) return p;
else return Search