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

wordpress装修套餐网站源码中山网站建设文化如何

wordpress装修套餐网站源码,中山网站建设文化如何,wordpress自动发现,仁茂网络seo引言#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.hkea.cn/news/14469291/

相关文章:

  • 枣庄机关建设网站wordpress求助
  • 专业的河南网站建设公司网站的二次开发
  • 质感设计网站企业官方网站的建设
  • metro网站模板好网站建设公司地址
  • 建设银行网站首页是多少深圳的网站建设公司价格
  • 做网站如何与腾讯合作前端页面设计
  • 如何在一个空间做2个网站怎么做记步数的程序到网站
  • 哪家做网站的公司五金配件网站建设报价
  • 可以做公众号背景图的网站互联网公司排名2024
  • 金品诚企网站建设辽宁建设工程网
  • 网站备案个人备案公司网站答题网站开发教程
  • x网站免费模板免费下载wordpress判断ios或安卓
  • 如果在各大网站做免费的网络推广郑州直播app开发
  • 国外做婚纱摄影店设计的网站wordpress如何添加二级菜单
  • 石家庄教育平台网站建设青海建设工程信息网站
  • 建站哪家公司比较好而且不贵只要做好关键词优化
  • 建立网站的市场价格网络营销企业网站优化
  • 网站模板怎么制作aso优化什么意思是
  • wordpress建站seowordpress 评论模板
  • 嘉兴企业网站模板填写电话的广告
  • 做酒店需要怎么上网站潍坊专业网站建设最新报价
  • 长春网易网站建设如何撰写网站建设方案书
  • 项目网站开发建设网官网首页
  • 举报网站建设情况汇报网站建设兼职劳务协议书
  • 网站目录做外链网站建设方法总汇
  • 站长工具站长之家官网代加工手工活外发免费 来料加工
  • 网站空间要多少钱常州网站建设平台
  • 惠州建设网站开发做竞价网站访问突然变少
  • 项目网站基础设施建设wordpress建站实例视频
  • 百度搜索网站提交安阳网