dieshu 2021-05-10 19:12 采纳率: 57.1%
浏览 61
已采纳

数据结构(C环境下)

根据二叉树中序遍历的非递归算法,在二叉树t查找值为x的元素,若找到且其左子树为空,则将值为y的元素插入成为其左孩子,否则若其右孩子为空,则将y插入成为其右孩子。插入失败,返回值为0,否则返回值为1。

 

int inserttree(BiTree &T, TElemType x, TElemType y)

{            }

在主函数中分别调用上述函数,测试数据采用下列两颗二叉树:

分别对上述两颗二叉树的数据进行测试,并给出运行结果。

相关类型的申明

typedef int TElemType;

 

typedef struct BiTNode

{

    TElemType data;

    struct BiTNode *lchild, *rchild;

} BiTNode, *BiTree;

 

typedef   BiTree  SElemType;//栈元素类型

 

typedef struct

{

    SElemType *base;

    SElemType *top;

    int stacksize;

} SqStack;

主函数的主要形式

int main()

{  

BiTree t;

    TElemType x,y;

printf("输入树的相关数据-1结束.\n");

createtree(t);

//分别调用三种遍历算法以输出三种遍历序列

     inorder(t);

     printf("\n");

     preorder(t);

     printf("\n");

     postorder(t);

     printf("\n");

printf("输入要查找的元素x和要插入的元素y.\n");

scanf("%d%d",&x,&y);

if(inserttree(t,x,y)){

printf("插入元素%d后的树的三种遍历序列为:\n",y);

     

inorder(t);

 printf("\n");

        preorder(t);

        printf("\n");

        postorder(t);

        printf("\n");

 }

 else printf("插入不成功!\n");

 return 1;

}

  • 写回答

2条回答 默认 最新

  • 源代码大师 博客专家认证 2021-05-10 21:30
    关注

    希望对您有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘