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

共青团员建设网站100条经典广告语

共青团员建设网站,100条经典广告语,北京大兴网站制作推广,龙岩微信小程序定制栈的出入顺序问题 题目 给出一个栈的输入顺序为: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://www.dtcms.com/wzjs/444752.html

相关文章:

  • 怎么做香港团购网站网络营销岗位技能
  • 江西省建设职业培训学校网站免费私人网站建设
  • 公司的做网站app推广平台网站
  • 佳匠网站建设深圳关键词快速排名
  • 济南济阳哪有做网站的重庆seo网络优化师
  • 环评登记表在哪个网站做sem代运营费用
  • 网站建设的成本分析杭州专业seo
  • 网站开发技术书籍深圳网站建设公司
  • 网络营销推广四个步骤阳东网站seo
  • 金色世纪做网站的是哪个岗位域名注册时间查询
  • 手机营销网站模板莆田seo
  • 杭州做网站的公司木卢seo教程
  • 怎样用linux做网站大作设计网站
  • 江门制作手机网站seo网站建站
  • 现在什么行业发展前景最好山西优化公司
  • 东营网站建设关键字排名问题最近新闻热点事件
  • 容桂网站建设哪家公司好chatgpt网址
  • 黔西网站建设广东seo推广哪里好
  • 做网站域名怎么选有利于seoaso推广优化
  • 网站建设的经费百度指数是干嘛的
  • 网站管理工作百度统计登录
  • 政府信息公开和网站建设工作互联网推广销售是做什么的
  • 自媒体交易网站开发国外友链买卖平台
  • 做美食没有广告的网站怎样进行seo推广
  • 自定义wordpress网站优化排名查询
  • app和手机网站的区别是什么五种营销工具
  • 塑胶原料东莞网站建设湖南好搜公司seo
  • 建设大厦网站专业搜索引擎seo合作
  • 网站logo怎么做的百度数据指数
  • 网站制作多少钱公司重庆好的seo平台