查找(二叉排序树)
构造一棵二叉排序树并对其进行中序遍历输出。 在二叉排序树中查找某一关键字,若存在,显示“查找成功”以及查找成功时关键字比较次数;若不存在,将其插入到二叉排序树中,再中序遍历输出。
输入格式
第一行一个正整数nn表示关键字个数;第二行输入nn个不相同的整数,空格分隔;第三行输入一个整数关键字xx
输出格式
第四行显示中序遍历原二叉排序树后的有序序列,空格分隔。 若存在xx,则第五行显示查找成功 y
,y
为查找成功时关键字比较次数。 若不存在xx,在第五行显示插入成功
,第六行输出中序遍历新二叉排序树后的有序序列,空格分隔。
样例输入1
5
23 56 12 18 70
23
样例输出1
12 18 23 56 70
查找成功 1
样例输入2
5
23 56 12 18 70
20
样例输出2
12 18 23 56 70
插入成功
12 18 20 23 56 70
[程序代码]
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define Yes 1
#define No 0
typedef short Status;
typedef short ElemType;
struct BiTreeNode/* 二叉树结点定义 */
{
ElemType key;
struct BiTreeNode *LChild;
struct BiTre
还没有评论,来说两句吧...