数据结构代码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
#includeiostream #includestring #includestdlib.h//窗口颜色控制 using namespace std; typedef struct noode { char data; struct noode *left,*right; }node; typedef struct noke { node *data; char er; noke *up,*down; }node1; typedef struct noke1 { node *data; noke1 *next; }node2; void create(node *q) { char ch; cinch; if (ch==-) q-data=0; else { q-data = ch; q-left=new node; create(q-left);//a q-right=new node; create(q-right);//b } } //中顺遍历递归 void in_bangli(node *q) { if(q-data!=0) { in_bangli(q-left); coutq-data; in_bangli(q-right); } } //中顺遍历非递归 void in_bangli_desk(node *q) { node1 *k,*p,*z; k=new node1; k-data=q; z=k; k-er=1; k-up=NULL; k-down = NULL; while(k) { k-er = 0; if(k-data-right-data!=0)//扩展右子树 { p=new node1;//增加新节点 //coutk-data-right-data; p-data = k-data-right;//给定所指向的节点 p-er = 1;//表示还可以再次反问,看是否存在下一个左或友节点 p-up = k;//表示它是连接在k的后面一个节点的 p-down = k-down;//表示它的下一个是k的下一个节点 if(k-down)//把k后面的节点连接到本节点上来 k-down-up = p; k-down = p;//表示k的下一个是它 } if(k-data-left-data!=0)//扩展左子树 { //coutk-data-left-data; p = new node1;//增加新节点 p-data = k-data-left;//给定所指向的节点 p-er = 1;//标识还可以扩展 p-down = k;//p的下一个是k p-up = k-up;//p的上一个是k的上一个 if(k-up) k-up-down=p;//k的上一个的下一个是p k-up=p;//k的上一个是p k=p;//k前挪 } while(kk-er==0)//限定向下扩展条件,如果是最后一个就不再扩展(!k) { k=k-down; } } p= z; while(p-up)//指针致前 p=p-up; while(p)//遍历打印 { coutp-data-data; p=p-down; } coutendl; } //先序遍历递归 void first_bangli(node *q) { if(q-data!=0) { coutq-data; first_bangli(q-left); first_bangli(q-right); } } //先序遍历非递归 void first_bangli_desk(node *q) { node1 *p,*k; p=new node1; p-data=q; p-down=NULL; while(p) { coutp-data-data; if(p-data-left-data!=0) { k=new node1; k-data=p-data-left; k-down = p-down; p-down=k; if(p-data-right-data!=0) { k=new node1; k-data=p-data-right; k-down = p-down-down; p-down-down = k; } } else if(p-data-left-data==0p-da

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档