删除二叉树子树

简介: 删除二叉树子树

1.算法设计1.首先递归创建一颗二叉树根据输入的节点值创建二叉树根据用户输入的节点值(#表示空节点),使用递归的方式创建二叉树。2.查找要删除的子树的根节点输入要删除的子树的根节点的值,程序在二叉树中查找值为该值的节点,并返回该节点的指针。3.递归删除子树对于当前节点,依次递归删除其左子树和右子树中值为子树根节点值的子树。如果当前节点为空或者当前节点的值不等于子树根节点的值,则直接返回当前节点的指针。如果当前节点的左子树或右子树中存在值为子树根节点的节点,则将该节点的左子树或右子树置为空,并释放该节点的空间。输出删除子树后的二叉树使用中序遍历的方式遍历二叉树,输出删除子树后的节点值序列。5.输出删除成功,结束程序2.程序清单#include <stdio.h>#include <stdlib.h>#define TYPE charstruct biTree { TYPE data; struct biTree lchild; struct biTree rchild;};/ * 释放节点T函数 * @param T /void del(struct biTree T) { if (T) { if (T->lchild)del(T->lchild); if (T->rchild)del(T->rchild); free(T); }}/ 这里设置一个父结点指针 因为free只会释放所在结点里面的内容 并不会置空 **/void delXsub(struct biTree *T, int x) { struct biTree *p = T; if (p->lchild && p->lchild->data == x) { del(p->lchild); p->lchild = NULL; } if (p->rchild && p->rchild->data == x) { del(p->rchild); p->rchild = NULL; } if (p->lchild)delXsub(p->lchild, x); if (p->rchild)delXsub(p->rch


相关文章
|
JavaScript 前端开发 数据安全/隐私保护
详细介绍NPM的基本使用方法、常用命令和一些实用技巧
详细介绍NPM的基本使用方法、常用命令和一些实用技巧
395 0
debian11换源
直接编辑 /etc/apt/sources.list 文件
1438 0
|
缓存
npm install 报 npm ERR! cb()never called!的错误
npm install 报 npm ERR! cb()never called!的错误
1751 0
|
8月前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
145 10
|
6月前
|
JSON 数据管理 Java
淘宝买家订单列表、订单详情、订单物流 API 接口全攻略
淘宝订单相关API接口是电商自动化的核心工具,提供订单数据管理和物流追踪功能。开发者可通过HTTP协议调用,支持Python、Java等语言,响应JSON格式数据。主要功能包括:订单列表查询、订单详情获取和物流轨迹追踪。申请流程:注册账号(c0b.cc/R4rbK2),创建应用并生成App Key,申请所需接口权限如taobao.trades.sold.get、taobao.trade.fullinfo.get等。
1162 7
|
11月前
|
存储 安全 Java
面试题:再谈Synchronized实现原理!
面试题:再谈Synchronized实现原理!
121 0
|
缓存 负载均衡 测试技术
企业系统工程(Enterprise Systems Engineering, ESE)是一个跨学科的领域,它应用系统工程的原则和方法来规划、设计、实施和管理复杂的组织系统,特别是那些涉及信息技术(IT)和商业流程的系统。
企业系统工程(Enterprise Systems Engineering, ESE)是一个跨学科的领域,它应用系统工程的原则和方法来规划、设计、实施和管理复杂的组织系统,特别是那些涉及信息技术(IT)和商业流程的系统。
|
Java 程序员 数据处理
探索编程范式:面向对象编程与函数式编程的比较与取舍
本文将探讨面向对象编程(OOP)和函数式编程(FP)两种主流的编程范式,并比较它们在代码组织、可复用性、并发性和代码风格等方面的特点。通过深入了解它们的优势和不足,读者可以更好地选择适合自己项目需求的编程范式。
422 1
|
SQL 安全 网络安全
网络安全与信息安全:防御前沿的探索
【7月更文挑战第42天】 在数字化时代,数据成为了新的石油,而网络安全和信息安全则是保护这些宝贵资源不被非法开采、泄露或破坏的关键。本文将深入探讨网络安全漏洞的概念、加密技术的重要性以及提升个体和企业安全意识的必要性。通过分析当前的网络威胁,我们揭示了安全漏洞的本质及其对个人和组织构成的风险。同时,文章还将介绍最新的加密技术和策略,它们如何帮助确保信息的机密性、完整性和可用性。最后,强调了建立强大的安全文化对于形成有效防御机制的重要性。
|
弹性计算 固态存储 Linux
2024年阿里云服务器租用详细价格表(CPU/内存/带宽/系统盘)
2024阿里云服务器租用优惠价格表,轻量服务器2核2G3M带宽轻量服务器一年61元,2核4G4M带宽轻量服务器一年165元12个月,ECS云服务器e系列2核2G配置、3M固定带宽、40G ESSD Entry云盘,99元一年、2核4G服务器30元3个月、2核4G配置365元一年、2核8G配置522元一年,云服务器u1、云服务器c7、g7和r7优惠价格表,CPU内存带宽系统盘配置详细报价:
5336 3