当前位置: 首页> 汽车> 维修 > 网络平台代理_廖珍琴建盏简介_成都seo优化_seo策略工具

网络平台代理_廖珍琴建盏简介_成都seo优化_seo策略工具

时间:2025/8/27 10:12:57来源:https://blog.csdn.net/weixin_55341642/article/details/143603432 浏览次数: 0次
网络平台代理_廖珍琴建盏简介_成都seo优化_seo策略工具

目录

链式二叉树示意图

手搓一个链式二叉树

查找链式二叉树中值为X的节点 


链式二叉树示意图


手搓一个链式二叉树

代码演示:

// 数据类型
typedef int BTDataType;// 二叉树节点的结构
typedef struct BinaryTreeNode
{BTDataType data; //每个节点的数据struct BinaryTreeNode* left; //指向左子树的指针struct BinaryTreeNode* right; //指向右子树的指针
}BTNode;// 申请新节点
BTNode* BuyNode(BTDataType x)
{BTNode* newnode = (BTNode*)malloc(sizeof(BTNode));// 判断是否申请成功if (newnode == NULL){perror("malloc fail");return NULL;}// 初始化newnode->data = x;newnode->left = NULL;newnode->right = NULL;return newnode;
}BTNode* CreatBinaryTree()
{BTNode* n1 = BuyNode(1);assert(n1);BTNode* n2 = BuyNode(2);assert(n2);BTNode* n3 = BuyNode(3);assert(n3);BTNode* n4 = BuyNode(4);assert(n4);BTNode* n5 = BuyNode(5);assert(n5);BTNode* n6 = BuyNode(6);assert(n6);n1->left = n2;n1->right = n4;n2->left = n3;n4->left = n5;n4->right = n6;return n1;
}

查找链式二叉树中值为X的节点

代码演示:

BTNode* BTreeFind(BTNode* root, BTDataType x)
{if (root == NULL)return NULL;if (root->data == x)return root;BTNode* ret1 = BTreeFind(root->left, x);if (ret1 != NULL)return ret1;BTNode* ret2 = BTreeFind(root->right, x);if (ret2 != NULL)return ret2;return NULL;
}

代码解析:

第一个 if 语句用于判断当前 root 是否为空,为空就返回空
然后根据前序遍历的思路,先访问根节点,也就是当前 root 是否为 指定节点
在遍历 root 的左右子树,利用 ret1 和 ret2 将返回值接收
并且判断 ret1 和 ret2 是否为空,不为空的话那么就是指定节点
如果 ret1 和 ret2 都没有返回的话,那么最后返回 NULL

代码验证:

能查找到指定节点时:

查找不到指定节点时: 

关键字:网络平台代理_廖珍琴建盏简介_成都seo优化_seo策略工具

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: