当前位置: 首页 > news >正文

中国建设部官方网站监理转注册广告推广怎么赚钱

中国建设部官方网站监理转注册,广告推广怎么赚钱,软文标题和内容,wordpress install-helper.php引言#xff1a; 线索二叉树是一种特殊的二叉树#xff0c;它可以通过线索#xff08;线索是指在二叉树中将空指针改为指向前驱或后继的指针#xff09;的方式将二叉树转化为一个线性结构#xff0c;从而方便对二叉树进行遍历。本文将介绍如何使用C实现线索二叉树。 技术…引言 线索二叉树是一种特殊的二叉树它可以通过线索线索是指在二叉树中将空指针改为指向前驱或后继的指针的方式将二叉树转化为一个线性结构从而方便对二叉树进行遍历。本文将介绍如何使用C实现线索二叉树。 技术实现 首先我们需要定义一个结构体来表示线索二叉树的节点。结构体中包含了节点的数据、左右子节点以及左右线索标记。 templatetypename Element struct ThrNode {Element data;ThrNode* lchild;ThrNode* rchild;int lTag;int rTag; };其中lTag和rTag分别表示左右线索标记。如果lTag为0则表示该节点的左子节点为普通子节点如果lTag为1则表示该节点的左子节点为前驱节点。rTag同理。 接下来我们使用一个类来表示线索二叉树。该类中包含了根节点以及一些方法。 templatetypename Element class InThrBiTree { public:InThrBiTree();~InThrBiTree();void inOrder(); private:ThrNodeElement* root;void createTree(ThrNodeElement* node);void destroyTree(ThrNodeElement* node);ThrNodeElement* first(ThrNodeElement*node);ThrNodeElement* next(ThrNodeElement* node);void createInThread(ThrNodeElement* node, ThrNodeElement* pre); };其中createTree方法用于创建线索二叉树destroyTree方法用于销毁线索二叉树inOrder方法用于中序遍历线索二叉树。first方法用于找到中序遍历的第一个节点next方法用于找到中序遍历中的下一个节点。createInThread方法用于创建中序遍历的线索。 接下来看怎么实现 templatetypename Element InThrBiTreeElement::InThrBiTree() {createTree(root);ThrNodeElement* pre nullptr;if (root ! nullptr){createInThread(root, pre);pre-rTag 1;} }templatetypename Element InThrBiTreeElement::~InThrBiTree() {destroyTree(node); }templatetypename Element void InThrBiTreeElement::inOrder() {ThrNodeElement* p first(p);while (p ! nullptr) {cout p-data ;p next(p);}cout endl; }templatetypename Element void InThrBiTreeElement::createTree(ThrNodeElement* node) {char item;cin item;if (item #)node nullptr;else {node new BiNodeElement;node-data item;createTree(node-lchild);createTree(node-rchild);} }templatetypename Element void InThrBiTreeElement::destroyTree(ThrNodeElement* node) {if(node!nullptr){destroyTree(node-lchild);destroyTree(node-rchild);delete node;} }templatetypename Element ThrNodeElement* InThrBiTreeElement::first(ThrNodeElement* node) {ThrNodeElement* p node;while (p-lTag 0)p p-lchild;return p; }templatetypename Element ThrNodeElement* InThrBiTreeElement::next(ThrNodeElement* node) {ThrNodeElement* p node-rchild;if (node-rTag 1) {return p;}else {return first(p);} }templatetypename Element inline void InThrBiTreeElement::createInThread(ThrNodeElement* node, ThrNodeElement* pre) {if (node nullptr) return;createInThread(node-lchild, pre);if (node-lchild nullptr){node-lchild pre;node-lTag 1;}if (pre ! nullptr pre-rchild nullptr){pre-rchild node;pre-rTag 1;}pre node;createInThread(node-rchild, pre); } 最后我们来看一下如何使用该类来创建和遍历线索二叉树。 int main() {InThrBiTreeint tree;tree.createTree(tree.root);tree.createInThread(tree.root, nullptr);tree.inOrder();tree.destroyTree(tree.root);return 0; } 首先创建一个InThrBiTree对象然后调用createTree方法创建线索二叉树接着调用createInThread方法创建中序遍历的线索最后调用inOrder方法中序遍历线索二叉树。最后调用destroyTree方法销毁线索二叉树。  结尾 以上就是使用C实现线索二叉树的方法。线索二叉树是一种非常实用的数据结构它可以方便地对二叉树进行遍历。通过本文的介绍相信读者已经掌握了如何使用C实现线索二叉树的方法。
http://www.sczhlp.com/news/185583/

相关文章:

  • 做网站的具体步骤用dw制作视频网站
  • centos7是怎么做网站的网站1g空间多大
  • 电子商务网站开发课程设计做奢侈品的网站
  • 做产品类网站有哪些内容企业网站建设的平台
  • 景点网站建设做百度移动端网站排名软件
  • 建站宝盒站群版高端建站价格
  • 网站搜索优化找哪家单位网站 单位网页 区别吗
  • wordpress 产品模板做网站建设优化的公司排名
  • 网站做gzip压缩百度推广 帮做网站吗
  • html介绍+运用
  • 2025 年 氨糖软骨素厂家哪家好?傦力宝产品选购指南,解析研发实力与品质优势
  • 【SPIE出版】2025年信息工程、智能信息技术与人工智能国际学术会议(IEITAI 2025)
  • go读取二进制文件编译信息
  • 可做宣传的网站都有哪些上海关键词推广
  • 可以做推广的网站关于官方网站建设情况的汇报
  • 网站 建设服务器做外销网站服务器好吗
  • 济南网站制作公司哪家好广东建设安全质量协会网站
  • vs网站搜索栏怎么做南海军事新闻最新消息
  • 做pc端网站渠道asp做的网站设计
  • 做ppt好的模板下载网站有哪些找小网站的关键词
  • 哪个网站专门做邮轮旅游的地方网站全网营销
  • 根据颜色找网站wordpress退出登录界面
  • 泰安哪里做网站建设网站的要点
  • 网站各类模块内容说明asp源码下载
  • 最新免费网站收录提交入口自己制作网页的网站
  • 盐城做网站哪家好wordpress优酷自适应
  • 如何建设免费网站视频检察机关门户网站建设自查报告
  • 网站建设费用包括哪些建设网站的工作流程
  • 济宁做网站公司网站logo设计流程
  • 用按键精灵做网站长沙网站制作策划