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

搞笑图片网站源码网站seo需要用到哪些工具

搞笑图片网站源码,网站seo需要用到哪些工具,wordpress没有登录口,查信息的网站有哪些这里涉及到二叉树的非递归操作有#xff1a;先序遍历、中序遍历、后序遍历数据结构树结点#xff1a;structNode { chardata; Node *left; Node *right; };标志#xff1a;enumTag{goLeft, goRight, goBack };goLeft指示访问左子树goLeft指示访问右子树#xf…这里涉及到二叉树的非递归操作有先序遍历、中序遍历、后序遍历 数据结构 树结点struct Node {     char data;     Node * left;     Node * right; }; 标志enum Tag{goLeft, goRight, goBack }; goLeft指示访问左子树 goLeft指示访问右子树左子树已访问 goBack指示回溯(左右子树均已访问) 两个栈:vectorNode * vec_node; vectorTag vec_flag; 两个栈同时消长、空 所有操作相同的部分Node *curNode  vec_node.back();//栈顶Tag curFlag  vec_flag.back();  //栈顶switch(curFlag)         {             case goLeft:                 //更改标志                vec_flag.pop_back();                 vec_flag.push_back(goRight);                 //左子树入栈                if(curNode-left ! NULL)                 {                     vec_node.push_back(curNode-left);                     vec_flag.push_back(goLeft);                 }                 break;             case goRight:                 //更改标志                vec_flag.pop_back();                 vec_flag.push_back(goBack);                 //右子树入栈                if(curNode-right ! NULL)                 {                     vec_node.push_back(curNode-right);                     vec_flag.push_back(goLeft);                 }                 break;             case goBack:                 //结点出栈                vec_flag.pop_back();                 vec_node.pop_back();                 break;             default:                 break;         }//switch-end 几种操作唯一不同的是需要的操作放置的位置不同。 先序遍历打印结点放在goLeft中 中序遍历打印结点放在goRight中 后续遍历打印结点放在goBack中 打印所有路径在goBack中判断是否为叶子结点如果是打印栈中所有路径如果否直接出栈 详细代码见下面:(注意其中红色的地方是唯一差别的地方#include iostream #include vector #include cstdlibusing namespace std;struct Node {     char data;     Node * left;     Node * right; };enum Tag{goLeft, goRight, goBack };void PreOrder(Node *root) {     assert(root ! NULL);     vectorNode * vec_node;     vectorTag vec_flag;     //init    vec_node.push_back(root);     vec_flag.push_back(goLeft);     while(!vec_node.empty())     {         Node *curNode  vec_node.back();         Tag curFlag  vec_flag.back();         switch(curFlag)         {             case goLeft:                 cout  curNode-data    ;                vec_flag.pop_back();                 vec_flag.push_back(goRight);                 if(curNode-left ! NULL)                 {                     vec_node.push_back(curNode-left);                     vec_flag.push_back(goLeft);                 }                 break;             case goRight:                 vec_flag.pop_back();                 vec_flag.push_back(goBack);                 if(curNode-right ! NULL)                 {                     vec_node.push_back(curNode-right);                     vec_flag.push_back(goLeft);                 }                 break;             case goBack:                 vec_flag.pop_back();                 vec_node.pop_back();                 break;             default:                 break;         }//switch-end    }//while-end }void InOrder(Node *root) {     assert(root ! NULL);     vectorNode * vec_node;     vectorTag vec_flag;     //init    vec_node.push_back(root);     vec_flag.push_back(goLeft);     while(!vec_node.empty())     {         Node *curNode  vec_node.back();         Tag curFlag  vec_flag.back();         switch(curFlag)         {             case goLeft:                 vec_flag.pop_back();                 vec_flag.push_back(goRight);                 if(curNode-left ! NULL)                 {                     vec_node.push_back(curNode-left);                     vec_flag.push_back(goLeft);                 }                 break;             case goRight:                 cout  curNode-data    ;                vec_flag.pop_back();                 vec_flag.push_back(goBack);                 if(curNode-right ! NULL)                 {                     vec_node.push_back(curNode-right);                     vec_flag.push_back(goLeft);                 }                 break;             case goBack:                 vec_flag.pop_back();                 vec_node.pop_back();                 break;             default:                 break;         }//switch-end    }//while-end }void PostOrder(Node *root) {     assert(root ! NULL);     vectorNode * vec_node;     vectorTag vec_flag;     //init    vec_node.push_back(root);     vec_flag.push_back(goLeft);     while(!vec_node.empty())     {         Node *curNode  vec_node.back();         Tag curFlag  vec_flag.back();         switch(curFlag)         {             case goLeft:                 vec_flag.pop_back();                 vec_flag.push_back(goRight);                 if(curNode-left ! NULL)                 {                     vec_node.push_back(curNode-left);                     vec_flag.push_back(goLeft);                 }                 break;             case goRight:                 vec_flag.pop_back();                 vec_flag.push_back(goBack);                 if(curNode-right ! NULL)                 {                     vec_node.push_back(curNode-right);                     vec_flag.push_back(goLeft);                 }                 break;             case goBack:                 cout  curNode-data    ;                 vec_flag.pop_back();                 vec_node.pop_back();                 break;             default:                 break;         }//switch-end    }//while-end }/* 打印从根到叶子结点之路径 */void PrintPath( const vectorNode *  v ) {     vector Node *::const_iterator vi;     for( vi  v.begin(); vi!v.end(); vi )     {         Node * n  reinterpret_cast Node *(*vi);         cout n-data  ;     }     cout endl; }void PrintAllPaths(Node *root) {     assert(root ! NULL);     vectorNode * vec_node;     vectorTag vec_flag;     //init    vec_node.push_back(root);     vec_flag.push_back(goLeft);     while( !vec_node.empty())     {         Node *curNode  vec_node.back();         Tag curFlag  vec_flag.back();         switch(curFlag)         {             case goLeft:                 vec_flag.pop_back();                 vec_flag.push_back(goRight);                 if(curNode-left ! NULL)                 {                     vec_node.push_back(curNode-left);                     vec_flag.push_back(goLeft);                 }                 break;             case goRight:                 vec_flag.pop_back();                 vec_flag.push_back(goBack);                 if(curNode-right ! NULL)                 {                     vec_node.push_back(curNode-right);                     vec_flag.push_back(goLeft);                 }                 break;             case goBack:                 if(NULL  curNode-left  NULL  curNode-right)                    PrintPath(vec_node);                 vec_flag.pop_back();                 vec_node.pop_back();                 break;             default:                 break;         }//switch-end    }//while-end}int main() {     Node root, b, c, d, e, f, g, h;     root.dataa;     root.leftb;     root.righte;     b.datab;     b.leftc;     b.rightd;     c.datac;     c.leftNULL;     c.rightNULL;     d.datad;     d.leftNULL;     d.rightNULL;     e.datae;     e.leftf;     e.rightg;     f.dataf;     f.leftNULL;     f.rightNULL;     g.datag;     g.leftNULL;     g.righth;     h.datah;     h.leftNULL;     h.rightNULL;     cout  Print all paths:\n;     PrintAllPaths(root);     cout  \n;     cout  PostOrder:\n;     PostOrder(root);     cout  \n;     cout  PreOrder:\n;     PreOrder(root);     cout  \n;     cout  InOrder:\n;     InOrder(root);     cout  \n\n;     system(PAUSE);     return 0; } 运行结果转载于:https://www.cnblogs.com/chio/archive/2007/10/24/935784.html
http://www.zqtcl.cn/news/760064/

相关文章:

  • 网站名查找wordpress评论人
  • 网络推广最好的网站有哪些wordpress怎么用万网域名
  • 大连仟亿科技网站建设公司 概况网络信用贷款哪个好
  • 配置了iis打不开网站外贸建站哪个最便宜
  • 酒店网站建设描述免费建站网站有哪些
  • 做宠物的网站主题思想网站建设 司法公开的需要
  • 建站图标素材前端面试题2022
  • 宁夏住房建设厅网站官网最新版cmsv6
  • 网站建设备案和免备案的区别建网站视频教程
  • 网站推广话术wordpress主题没法用
  • 微信网站开发 全屏包头教育云平台网站建设
  • 诸城手机网站建设做竞价网站
  • 网站策划报告公司简介模板范文高大上
  • 做信息图的免费网站如何获取网站是哪个公司制作
  • 乐清建设网站哪家好seo一个月赚多少钱
  • 哈尔滨专业官网建站企业h5公众号开发
  • 商城网站建设精英wordpress实例配置
  • 国内网站开发语言模板兔自用主题WordPress
  • 天津营销网站建设公司哪家好市场营销平台
  • 上海企业响应式网站建设推荐网站建设类织梦模板
  • 洛阳最好的做网站的公司哪家好信誉好的邢台做网站
  • 织梦 旅游网站模板seo百家外链网站
  • 做网站提升公司形象摄影网站建设任务书
  • wordpress建站不好用wordpress共用用户多站点
  • 企业网站设计请示杭州做企业网站的公司
  • 苏宁易购网站建设的不足之处wordpress myisam
  • 互联网站建设维护是做什么的网站建设模板成功案例
  • 制作网站需要什么语言wordpress 免签约支付宝
  • 西安网站开发的未来发展易企网络网站建设
  • 贵州做网站怎么推广vs2012 做网站教程