创建树,中序输出

简介: 创建树,中序输出
#include<iostream>
using namespace std;
typedef int KeyType;
typedef struct {
    KeyType  key;
} ElemType;
typedef struct BitNode {
    ElemType data;
    struct BitNode* lchild, * rchild;
}BitNode, * BiTree;
BiTree insert(BiTree b, BiTree s)
{
    if (b == NULL) b = s;
    else if (s->data.key > b->data.key) b->rchild = insert(b->rchild, s);
    else if (s->data.key < b->data.key) b->lchild = insert(b->lchild, s);
    return b;
}
BiTree creat() {
    int k;
    BiTree t, s;
    t = NULL;
    scanf_s("%d", &k);
    while (k != -1) {
        s = (BiTree)malloc(sizeof(BitNode));
        s->data.key = k;
        s->lchild = NULL;
        s->rchild = NULL;
        t = insert(t, s);
        scanf_s("%d", &k);
    }
    return t;
}
void inorder(BiTree t) {
    if (t) {
        inorder(t->lchild);
        printf_s("%3d", t->data);
        inorder(t->rchild);
    }
}
void main() {
    BiTree t;
    printf_s("输入数据,以-1结束:");
    t = creat();
    printf_s("中序序列为:");
    inorder(t);
}

有问题留言

相关文章
|
7月前
二叉树查找值为x的结点、树的高度、第k层结点个数的代码实现
二叉树查找值为x的结点、树的高度、第k层结点个数的代码实现
|
7月前
|
机器学习/深度学习 C++
初阶数据结构之---二叉树链式结构(二叉树的构建,二叉树的前序,中序,后序和层序遍历,计算二叉树结点个数,第k层结点个数,叶子结点个数,判断是否为完全二叉树)
初阶数据结构之---二叉树链式结构(二叉树的构建,二叉树的前序,中序,后序和层序遍历,计算二叉树结点个数,第k层结点个数,叶子结点个数,判断是否为完全二叉树)
|
存储 算法
二叉树的创建和遍历
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分
97 0
|
存储 算法
算法训练Day18|● 513.找树左下角的值● 112. 路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
算法训练Day18|● 513.找树左下角的值● 112. 路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
|
算法
【算法】二叉排序树:创建二叉树,并以中序遍历输出
【算法】二叉排序树:创建二叉树,并以中序遍历输出
223 0
|
Java 测试技术
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
172 0
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
代码随想录刷题|LeetCode 513. 找树左下角的值 112. 路径总和 113.路径总和|| 106. 从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
代码随想录刷题|LeetCode 513. 找树左下角的值 112. 路径总和 113.路径总和|| 106. 从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
代码随想录刷题|LeetCode 513. 找树左下角的值 112. 路径总和 113.路径总和|| 106. 从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数
先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数
628 0
先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数
7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)
7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)
494 0
7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)