博客
关于我
252-查找二叉树某节点的双亲
阅读量:533 次
发布时间:2019-03-08

本文共 612 字,大约阅读时间需要 2 分钟。

<BtNode* Parent(BtNode* ptr,BtNode* child){if(ptr==nullptr||ptr->leftchild==child||ptr->rightchild==child){return ptr;}else{BtNode* p=Parent(ptr->leftchild,child);if(p==nullptr){p=Parent(ptr->rightchild,child);}return p;}}<BtNode* FindParent(BtNode* ptr,BtNode* child){if(ptr==nullptr||child==nullptr||ptr==child){return nullptr;}else{return Parent(ptr,child);}}

这段代码定义了两个用于查找二叉树节点直接双亲的函数。Parent函数接收两个节点指针:当前节点ptr和待查找的子节点child。如果子节点child是ptr的左孩子或右孩子,则直接返回ptr作为双亲。若child不是左或右孩子,则递归调用Parent函数,继续向上查找。在递归结束时,如果未找到对应的双亲,则返回空指针。

FindParent函数则服务于更为简单的用途,它直接调用Parent函数来确定给定子节点child的直接双亲。该函数通过类似逻辑排除了一些无效情况,确保只返回有效的双亲节点。

转载地址:http://wtyiz.baihongyu.com/

你可能感兴趣的文章
Oracle 比较 B-tree 和 Bitmap 索引
查看>>
Oracle 注意点大全
查看>>
UML- 组件图(构件图)
查看>>
oracle 用户与锁
查看>>
oracle 由32位迁移到64位的问题
查看>>
oracle 监听器的工作原理
查看>>
oracle 行列转换
查看>>
oracle 行转列
查看>>
Oracle 表
查看>>
oracle 课堂笔记
查看>>
Oracle 返回结果集的 存储过程
查看>>
Oracle 递归
查看>>
Oracle 递归函数与拼接
查看>>
oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
查看>>
oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
查看>>
oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
查看>>
oracle--用户,权限,角色的管理
查看>>
Oracle-定时任务-JOB
查看>>
oracle.dataaccess 连接池,asp.net使用Oracle.DataAccess.dll连接Oracle
查看>>
oracle00205报错,Oracle控制文件损坏报错场景
查看>>