AcWing - 模拟队列(队列&模拟)
发布日期:2021-07-01 00:21:58
浏览次数:3
分类:技术文章
本文共 1233 字,大约阅读时间需要 4 分钟。
题目链接:
时/空限制:1s / 64MB题目描述
实现一个队列,队列初始为空,支持四种操作:
(1) “push x” – 向队尾插入一个数x;
(2) “pop” – 从队头弹出一个数;
(3) “empty” – 判断队列是否为空;
(4) “query” – 查询队头元素。
现在要对队列进行M个操作,其中的每个操作3和操作4都要输出相应的结果。
输入格式
第一行包含整数M,表示操作次数。
接下来M行,每行包含一个操作命令,操作命令为”push x”,”pop”,”empty”,”query”中的一种。
输出格式
对于每个”empty”和”query”操作都要输出一个查询结果,每个结果占一行。
其中,”empty”操作的查询结果为“YES”或“NO”,”query”操作的查询结果为一个整数,表示队头元素的值。
数据范围
1≤M≤100000,
1≤x≤10^9, 所有操作保证合法。输入样例
10
push 6 empty query pop empty push 3 push 4 pop query push 6
输出样例
NO
6 YES 4
解题思路
题意:模拟一个队列,共有四种操作。
思路:直接模拟,写的是数组型的,不过操作和指针的类似。Accepted Code:
/* * @Author: lzyws739307453 * @Language: C++ */#includeusing namespace std;const int MAXN = 100005;int Queue[MAXN], front = 0, rear = -1;void push(int x) { Queue[++rear] = x;}void pop() { front++;}bool empty() { return rear < front;}int Query() { return Queue[front];}int main() { char op[7]; int n, k, x; scanf("%d", &n); while (n--) { scanf("%s", op); if (!strcmp(op, "push")) { scanf("%d", &x); push(x); } else if (!strcmp(op, "pop")) pop(); else if (!strcmp(op, "empty")) printf(empty() ? "YES\n" : "NO\n"); else printf("%d\n", Query()); } return 0;}
转载地址:https://lzyws739307453.blog.csdn.net/article/details/99960620 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月07日 12时14分12秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Go对战Java,谁将成为最受雇主欢迎的语言?
2019-05-02
下一次IT架构变革: 边缘计算(Edge Computing)
2019-05-02
公司转型微服务,真的有必要吗?
2019-05-02
必看: 原来PCIe技术原理这么简单!
2019-05-02
英伟达收购Mellanox,包含哪些技术和产品?
2019-05-02
F5并购Ngnix,负载均衡实现软硬结合
2019-05-02
怎么理解分布式、高并发、多线程技术?
2019-05-02
漫谈四种主流软件架构演进史
2019-05-02
关于数据中台系统,需要了解哪些技术?
2019-05-02
400G交换机兴起改变数据中心格局
2019-05-02
400G技术市场前景和主流产品
2019-05-02
全面分析HDFS基本技术原理
2019-05-02
详解以太网介质技术发展史!
2019-05-02
推荐: 技术人该具备的技术资源
2019-05-02
详谈中国企业服务的潜规则
2019-05-02
腾讯云: 光纤挖断后的150秒!
2019-05-02
ARM、X86/Atom、MIPS、PowerPC四大CPU体系架构
2019-05-02
架构师技术联盟,包括哪些核心成员?
2019-05-02
详解“硬核”虚拟化技术SR-IOV原理
2019-05-02
SAP HANA解决方案设计10问详解
2019-05-02