Think:
1知识点:模拟队列+栈
2题意分析:字母输入移动,分别用队列记录输入光标之前内容,用栈记录光标之后可能存在的内容
3其余思路:链表模拟插入结点删除结点

vjudge题目链接

以下为Accepted代码

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stack>using namespace std;int op, tp;
char link[1001400], st[1001400];int main(){int T, i;scanf("%d", &T);while(T--){op = tp = 0;stack <char> sta;while(!sta.empty()){sta.pop();}scanf("%s", st);int len = strlen(st);for(i = 0; i < len; i++){if(st[i] == '-'){if(tp > 0)tp--;}else if(st[i] == '<'){if(tp > 0){sta.push(link[tp-1]);tp--;}}else if(st[i] == '>'){if(!sta.empty()){link[tp++] = sta.top();sta.pop();}}else {link[tp++] = st[i];}}bool flag = false;for(i = 0; i < tp; i++)printf("%c", link[i]);while(!sta.empty()){flag = true;printf("%c", sta.top());sta.pop();}if(tp || flag)printf("\n");}return 0;
}

I - Keylogger Gym - 101078I——模拟队列+栈相关推荐

  1. Keylogger Gym - 101078I codeforces

    blablabla: 好久不碰链表...但是感觉还可以 1.链表 #include<iostream> #include<cstdio> #include<cstdlib ...

  2. 数据结构——栈与队列操作(用栈模拟队列)

    [栈与队列操作] 问题描述:假设有两个长度相同的栈 S1,S2,已知以下入栈.出栈.判栈满和判栈空操作: void Push(S,x); Elemtype Pop(S); bool StackFull ...

  3. 【干货】容器适配器实现两个栈模拟队列

    用两个栈模拟队列的思想就是"倒水思想",这里我们用自定义类型模拟出线性表,再用线性表做容器实现栈的数据结构,最后用栈来实现队列,代码如下: #include<iostream ...

  4. 3-08. 栈模拟队列(25)(ZJU_PAT 模拟)

    主题链接:http://pat.zju.edu.cn/contests/ds/3-08 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操 ...

  5. 用队列实现栈--用两个队列模拟实现栈

    出栈:哪个队列不为空,将该队列中前n-1个元素挪到另一个空队列中,然后将该队列中仅剩的元素出队列. 入栈:哪个队列不为空,将元素放到哪个队列中即可. 获取栈顶元素:哪个队列不为空,该队列的队尾就是栈顶 ...

  6. Acwing算法基础课学习笔记(四)--数据结构之单链表双链表模拟栈模拟队列单调栈单调队列KMP

    单链表 算法题中最常考的单链表就是邻接表(用来存储图和数),比如最短路问题,最小生成树问题,最大流问题.双链表用于优化某些问题. 利用数组来表达单链表:存储值和指针的两个数组利用下标进行关联. 需要注 ...

  7. 7-22 堆栈模拟队列 (25 分)

    设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数: int IsFull(Stack S):判断堆栈S是否已满,返回1或0: in ...

  8. 033_使用ArrayDeque模拟队列结构

    import java.util.ArrayDeque; import java.util.Iterator;/*** 使用ArrayDeque模拟队列结构*/ public class QueueU ...

  9. 数组模拟队列(代码实现)

    数据结构可分为两种,第一种是线性结构,第二种是非线性结构,线性结构又分为连续存储和链表存储. 常见的线性结构有数组,链表,队列,栈: 以下是数组模拟队列的实现(队列特点就是先进先出): //数组模拟队 ...

最新文章

  1. Fastjson反序列化漏洞研究
  2. 界面按钮太多 聊天机器人都快被玩坏了
  3. artDiaLog弹出插件
  4. hosts文件是什么?
  5. Spring Security并发会话控制示例教程–如何限制Java JEE Web应用程序中的用户会话数...
  6. mysql前一天_mysql查询当天,前一天,一周,一个月
  7. 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner
  8. 继iptables之后的新一代包过滤框架是nftables
  9. C语言判断文件编码格式
  10. 非常好用的jdk帮助文档jdk1.8中文谷歌翻译
  11. php文件苹果用什么软件打开,教你用什么软件打开php文件
  12. 10款滑动门代码_jquery 滑动门_js滑动门_tab滑动门_jquery 选项卡_js选项卡_tab选项卡效果(三)
  13. SCRT804安装教程
  14. VMware ESXI 5.5 注册码
  15. c语言爱心函数3D,C语言控制台打印3D爱心图案
  16. 高考满分作文《细雨湿衣看不见,闲花落地听无声》 之 金庸新版
  17. bzoj3168 [Heoi2013]钙铁锌硒维生素(矩阵求逆+匈牙利)
  18. 如何在图片上编辑文字?三招教你怎么编辑图片上的文字
  19. 好论文是如何炼成的-林宙辰
  20. Perl正则表达式(1) - 正则表达式基础知识

热门文章

  1. AIRPAK3.0用户指导手册第一部分手册简介
  2. 第十届蓝桥杯题解(部分)
  3. maven 排除pom依赖_Maven dependency插件 排除依赖
  4. 关于TCP中文件传输阻塞问题的原因及解决方案和相关优化。
  5. Meta利用视觉信息来优化3D音频模型,未来将用于AR/VR
  6. RSA加解密过程详解
  7. 艾默生流量计读数不准确的原由
  8. ominipeek 发包_omnipeek使用教程 OmniPeek无线抓包和修改数据包教程-站长资讯中心...
  9. 运算放大器(一)简介
  10. logicaldoc二次开发