I - Keylogger Gym - 101078I——模拟队列+栈
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——模拟队列+栈相关推荐
- Keylogger Gym - 101078I codeforces
blablabla: 好久不碰链表...但是感觉还可以 1.链表 #include<iostream> #include<cstdio> #include<cstdlib ...
- 数据结构——栈与队列操作(用栈模拟队列)
[栈与队列操作] 问题描述:假设有两个长度相同的栈 S1,S2,已知以下入栈.出栈.判栈满和判栈空操作: void Push(S,x); Elemtype Pop(S); bool StackFull ...
- 【干货】容器适配器实现两个栈模拟队列
用两个栈模拟队列的思想就是"倒水思想",这里我们用自定义类型模拟出线性表,再用线性表做容器实现栈的数据结构,最后用栈来实现队列,代码如下: #include<iostream ...
- 3-08. 栈模拟队列(25)(ZJU_PAT 模拟)
主题链接:http://pat.zju.edu.cn/contests/ds/3-08 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操 ...
- 用队列实现栈--用两个队列模拟实现栈
出栈:哪个队列不为空,将该队列中前n-1个元素挪到另一个空队列中,然后将该队列中仅剩的元素出队列. 入栈:哪个队列不为空,将元素放到哪个队列中即可. 获取栈顶元素:哪个队列不为空,该队列的队尾就是栈顶 ...
- Acwing算法基础课学习笔记(四)--数据结构之单链表双链表模拟栈模拟队列单调栈单调队列KMP
单链表 算法题中最常考的单链表就是邻接表(用来存储图和数),比如最短路问题,最小生成树问题,最大流问题.双链表用于优化某些问题. 利用数组来表达单链表:存储值和指针的两个数组利用下标进行关联. 需要注 ...
- 7-22 堆栈模拟队列 (25 分)
设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数: int IsFull(Stack S):判断堆栈S是否已满,返回1或0: in ...
- 033_使用ArrayDeque模拟队列结构
import java.util.ArrayDeque; import java.util.Iterator;/*** 使用ArrayDeque模拟队列结构*/ public class QueueU ...
- 数组模拟队列(代码实现)
数据结构可分为两种,第一种是线性结构,第二种是非线性结构,线性结构又分为连续存储和链表存储. 常见的线性结构有数组,链表,队列,栈: 以下是数组模拟队列的实现(队列特点就是先进先出): //数组模拟队 ...
最新文章
- Fastjson反序列化漏洞研究
- 界面按钮太多 聊天机器人都快被玩坏了
- artDiaLog弹出插件
- hosts文件是什么?
- Spring Security并发会话控制示例教程–如何限制Java JEE Web应用程序中的用户会话数...
- mysql前一天_mysql查询当天,前一天,一周,一个月
- 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner
- 继iptables之后的新一代包过滤框架是nftables
- C语言判断文件编码格式
- 非常好用的jdk帮助文档jdk1.8中文谷歌翻译
- php文件苹果用什么软件打开,教你用什么软件打开php文件
- 10款滑动门代码_jquery 滑动门_js滑动门_tab滑动门_jquery 选项卡_js选项卡_tab选项卡效果(三)
- SCRT804安装教程
- VMware ESXI 5.5 注册码
- c语言爱心函数3D,C语言控制台打印3D爱心图案
- 高考满分作文《细雨湿衣看不见,闲花落地听无声》 之 金庸新版
- bzoj3168 [Heoi2013]钙铁锌硒维生素(矩阵求逆+匈牙利)
- 如何在图片上编辑文字?三招教你怎么编辑图片上的文字
- 好论文是如何炼成的-林宙辰
- Perl正则表达式(1) - 正则表达式基础知识