查找(二叉排序树)

傷城~ 2022-10-08 02:28 267阅读 0赞

构造一棵二叉排序树并对其进行中序遍历输出。 在二叉排序树中查找某一关键字,若存在,显示“查找成功”以及查找成功时关键字比较次数;若不存在,将其插入到二叉排序树中,再中序遍历输出。

输入格式

第一行一个正整数nn表示关键字个数;第二行输入nn个不相同的整数,空格分隔;第三行输入一个整数关键字xx

输出格式

第四行显示中序遍历原二叉排序树后的有序序列,空格分隔。 若存在xx,则第五行显示查找成功 yy为查找成功时关键字比较次数。 若不存在xx,在第五行显示插入成功,第六行输出中序遍历新二叉排序树后的有序序列,空格分隔。

样例输入1

  1. 5
  2. 23 56 12 18 70
  3. 23

样例输出1

  1. 12 18 23 56 70
  2. 查找成功 1

样例输入2

  1. 5
  2. 23 56 12 18 70
  3. 20

样例输出2

  1. 12 18 23 56 70
  2. 插入成功
  3. 12 18 20 23 56 70

[程序代码]

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define OK 1
  4. #define ERROR 0
  5. #define Yes 1
  6. #define No 0
  7. typedef short Status;
  8. typedef short ElemType;
  9. struct BiTreeNode/* 二叉树结点定义 */
  10. {
  11. ElemType key;
  12. struct BiTreeNode *LChild;
  13. struct BiTre

发表评论

表情:
评论列表 (有 0 条评论,267人围观)

还没有评论,来说两句吧...

相关阅读

    相关 查找排序

    先介绍下基本概念:二叉排序树是一棵二叉树,或者为空,或者满足以下条件: ①若左子树不空,则其上的值均小于根的值; ②若右子树不空,其上的值均不小于根的值; ③左右子...

    相关 查找(排序)

    构造一棵二叉排序树并对其进行中序遍历输出。 在二叉排序树中查找某一关键字,若存在,显示“查找成功”以及查找成功时关键字比较次数;若不存在,将其插入到二叉排序树中,再中序遍历输出

    相关 查找-排序查找

    二叉排序树的性质: (1)若某节点的左子树非空,则左子树上所有元素的值都小于该元素的值。 (2)若某节点的右子树非空,则右子树上所有元素的值都大于该元素的值。 问题:在二