二叉树建立与删除代码,根据先序求中序

该代码示例展示了如何使用C++创建二叉树,通过先序遍历输入数据建立树结构,然后进行中序遍历打印树的节点。此外,还提供了删除二叉树节点的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二叉树建立与删除代码

#include<iostream>
#include<algorithm>
using namespace std;
typedef struct tree
{
    char data;
    struct tree* left;
    struct tree* right;
}TREE;

TREE* SetUp(TREE* root);
TREE* Print(TREE* root);
void Delete(TREE* root);

int main(void)
{
    TREE* root = NULL;
    root=SetUp( root);
    root=Print(root);
    Delete(root);
    return 0;
}

TREE* SetUp( TREE* root)
{
    char ch;
    cin >> ch;
    TREE* node = new TREE;
    if (ch != '0')
    {
        node->data = ch;
        node->left = SetUp(node);
        node->right = SetUp(node);
    }
    else
        node = NULL;
    return node;
}

TREE *Print(TREE* root)
{
    if (root != NULL)
    {
        cout << root->data;
        Print(root->left);
        Print(root->right);
    }
    return root;
}

void Delete(TREE* root)
{
    if (root->left != NULL)
        Delete(root->left);
    if (root->right != NULL)
        Delete(root->right);
    delete root;
}

根据先序遍历建立二叉树然后中序遍历打印


#include<iostream>
#include<algorithm>
using namespace std;
typedef struct tree
{
    char data;
    struct tree* l, * r;
}TREE;
TREE* SetUp();
void Print(TREE* root);
//void Delete(TREE* root);

int main(void)
{
    TREE* root = NULL;
    root=SetUp();
    Print(root);
    //Delete(root);
    return 0;
}

TREE* SetUp()
{
    char ch;
    cin >> ch;
    TREE* node;
    if (ch != '0')
    {
        node = new TREE;  //新建节点,申请内存
        node->data = ch;
        node->l = SetUp();
        node->r = SetUp();
    }
    else
        node = NULL;
    return node;
}

void Print(TREE* root)
{
    if (root != NULL)
    {
        Print(root->l);
        cout << root->data;
        Print(root->r);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值