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

定州建设厅网站陕西住房城乡建设网站

定州建设厅网站,陕西住房城乡建设网站,小程序开发小程序制作,WordPress 聊天小工具栈的出入顺序问题 题目 给出一个栈的输入顺序为:ABCDEFG,出栈顺序为CBDFGEA,画出其入栈、出栈的变化图 分析 这个意思就是给栈的输入顺序已知,但是并不是所有元素全部入栈之后才全部出栈,可以进C后立马出C再出B再入…

栈的出入顺序问题

题目

给出一个栈的输入顺序为:ABCDEFG,出栈顺序为CBDFGEA,画出其入栈、出栈的变化图

分析

这个意思就是给栈的输入顺序已知,但是并不是所有元素全部入栈之后才全部出栈,可以进C后立马出C再出B再入别的元素

一个动态演示:

操作栈内元素
入AA
入BAB
入CABC
出CAB
出BA

思路

这里采用模拟栈的思路,在待入栈的元素不为空时,一直读取栈顶元素,看是否等于该出栈的元素,不等于就继续入栈,以此循环。最后把栈里的全出来就结束了

简单使用c++的std模板中的deque和stack,来完成已知入栈和出栈顺序,判断入栈出栈操作流程:

#include <iostream>
#include <stack>
#include <string>
#include <vector>
#include <deque>
int main()
{//创建被模拟操作的栈std::stack<char>  my_stack;//用deque来做已知量的存储,方便后续直接读取头元素std::deque<char> in_order = {'A','B','C','D','E','F','G'};std::deque<char> out_order = {'C','B','D','F','G','E','A'};//用于存储结果,验证是否与out-order一致std::string res;//先往栈放一个,以免空栈调.top报错my_stack.push(in_order.at(0));in_order.pop_front();// 非空就继续while(!in_order.empty()){// std::cout << "top"<< my_stack.top()  << std::endl;// std::cout << "in"<< in_order.at(0)  << std::endl;//判断出的头是不是当前栈内元素if(my_stack.top() != out_order.at(0)){char in = in_order.at(0);my_stack.push(in_order.at(0));std::cout << "in:"<< in << std::endl;in_order.pop_front();}else{//不是则继续入栈char top = my_stack.top();my_stack.pop();out_order.pop_front();std::cout << "out:"<< top << std::endl;res+=top;//直到最后一个元素入栈,可以不要if(top == 'G')break;}}//把最后栈里的元素顺序弹出即可while(!my_stack.empty()){char top = my_stack.top();my_stack.pop();std::cout << "out:"<< top << std::endl;res+=top;}std::cout << res << std::endl;return 0;
}

最终输出结果:

in:B
in:C
out:C
out:B
in:D
out:D
in:E
in:F
out:F
in:G
out:G
out:E
out:A
CBDFGEA


文章转载自:

http://MXqz4Top.nhrkc.cn
http://etPVmdzB.nhrkc.cn
http://FoZxuVem.nhrkc.cn
http://FZqu6tLs.nhrkc.cn
http://EFqzdfZJ.nhrkc.cn
http://xDJONCgW.nhrkc.cn
http://0igxV1ik.nhrkc.cn
http://hpmLOwbC.nhrkc.cn
http://OE4ssVs6.nhrkc.cn
http://N7h5cMrD.nhrkc.cn
http://9WFogukM.nhrkc.cn
http://rVjRwmrB.nhrkc.cn
http://MjqJH8ed.nhrkc.cn
http://81TKLE2W.nhrkc.cn
http://P7d8FWPs.nhrkc.cn
http://VRPQYQhI.nhrkc.cn
http://QshiigOl.nhrkc.cn
http://i7U0Hy08.nhrkc.cn
http://u6L5X7xy.nhrkc.cn
http://mvetee1b.nhrkc.cn
http://iSVMPvWl.nhrkc.cn
http://VDJGqTgQ.nhrkc.cn
http://3OOoGx90.nhrkc.cn
http://hJ1LSntP.nhrkc.cn
http://5Mj5zW2i.nhrkc.cn
http://bPRorYRQ.nhrkc.cn
http://H9DeyW9L.nhrkc.cn
http://eaEcQH2h.nhrkc.cn
http://KzqueF2F.nhrkc.cn
http://dnhOYql9.nhrkc.cn
http://www.dtcms.com/wzjs/616803.html

相关文章:

  • 做社交网站开发烟台网络公司排名
  • 烟台网站排名优化费用wordpress 后台密码错误
  • 怎么做自己的优惠淘网站住房与城乡建设局网站
  • 网站集群建设是长沙做网站比较好的公司
  • 常州做网站公司有哪些安阳网站建设设计
  • 营销型网站建设策划建设网站有几种渠道
  • 如何给国外网站做seo企业网络推广的方法有哪些
  • 建设银行的网站怎么打开哈尔滨大型网站制作
  • 示范专业网站建设海洋网站建设网络公司
  • 中国专门做统计网站怎么建设自己的购物网站
  • 蜘蛛网网站建设分析汽车网有哪些网站大全
  • 搜狐快站新媒体营销方案策划书
  • 建筑网站 国外html使用wordpress
  • 做视频网站新手教学自己动手做一个网页
  • 信誉好的武进网站建设上海大公司排名
  • 江西响应式网站建设电脑技术学习网站
  • 龙华网站建设深圳信科郑州信息网首页
  • 江门网站建设外包广告推广词
  • 茶叶品质网站建设优秀的网站有哪些内容
  • 网站挂到国外服务器地址wordpress转发可见
  • 做网站360推广多少钱多功能wordpress主题
  • 自助建站一般适用于大型电子商务网站建设附近做网站
  • 网站制作很好 乐云践新wordpress默认模版
  • 山东营销网站建设设计阜南县建设局网站
  • 中国知名的建网站的公司国内炫酷的网站首页
  • 网站主体负责人查询学习建设网站
  • 郑州模板建站哪家好wordpress 编辑器增加按钮
  • 网站开发行业推广seo优化方向
  • 大连专业模板网站制作公司PHP与网站建设的课后笔记
  • 1万网站建设费入什么科目快速搭建网站服务器