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

哪个网站做外贸比较好公司网站主页模板

哪个网站做外贸比较好,公司网站主页模板,建怎么网站比较赚钱,医院网站绿色模板引言#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.yutouwan.com/news/447884/

相关文章:

  • js网站访问量统计微信平台链接wordpress
  • 昆明网站建设开发深圳龙华区邮政编码多少
  • 郓城住房和城乡建设局网站万维网申请网站域名
  • 怎么弄网站网站网页区别
  • 找做网站的个人建材在哪些网站做
  • 域名对网站有什么影响网页生成应用工具
  • 建站平台哪个好深圳产品设计公司有哪些
  • 济南网站定制策划珠宝网站制作的理念
  • 塑胶原料 东莞网站建设公众号推文模板免费
  • 网页设计一个网站深圳优秀网站建设价格
  • 黑龙江省关于城市建设政策网站宁阳移动网站制作
  • 杭州网站建设费用价格网站怎样做地理位置定位
  • 东莞大岭山网站制作国家企业信用信息系统公示查询官网
  • 关于桥梁建设工程设公司网站全栈网站开发流行框架
  • 东莞网站建设怎么做浙江省水利建设行业协会网站
  • 男和男做那个视频网站网上在哪里注册公司
  • asp 网站开发 软件微信手机网站三合一
  • 济南手机网站设计荣县规划和建设局网站
  • 山东省建设安全生产协会网站做一家网站费用吗
  • 要做个卖东西网站怎么做什么网站可以做试题
  • 广东网页制作与网站建设惠州网站建设哪家强
  • 美容整形网站模板徐州制作手机网站
  • C#如何做简易网站手机温州网
  • 银川网站建设哪家好叫啥名字网站中引用字体
  • 下载代码的网站龙岗公司网站
  • 国家城乡和住房建设部网站微信小程序商城开源源码
  • 石家庄网站系统建设互联网公司排名500强名单
  • 织梦网站字体做网站建站点
  • 相册管理网站模板下载这种资源网站怎么做才赚钱
  • 网站建设为什么必须有服务器长沙有什么互联网公司