P1030 队列的基本操作
题目描述
现在给你一个队列,它一开始是空的,你需要模拟队列的操作。队列的操作包括如下:
- “push x”:将元素 x 放入队列中,其中x是一个int范围内的整数;
- “pop”,将队列的队首元素取出来,如果此时队列是空的,那么我们不进行任何操作;
- “front”,输出队首元素对应的值,如果此时队列是空的,那么我们需要输出一个字符串“empty”;
- “back”,输出队尾元素对应的值,如果此时队列是空的,那么我们需要输出一个字符串“empty”;
- “size”,输出当前队列中元素的个数。
输入格式
第一行一个正整数 n (1≤n≤100000),用于表示操作的数量。
接下来 n 行,每行可能是如下结构:
- “push x”:将元素 x 放入队列中,其中x是一个int范围内的整数;
- “pop”,将队列的队首元素取出来,如果此时队列是空的,那么我们不进行任何操作;
- “front”,输出队首元素对应的值,如果此时队列是空的,那么我们需要输出一个字符串“empty”;
- “back”,输出队尾元素对应的值,如果此时队列是空的,那么我们需要输出一个字符串“empty”;
- “size”,输出当前队列中元素的个数。
输出格式
你需要判断每一行输入,并执行对应的操作。
样例输入
10
push 3
push 5
front
back
size
pop
pop
pop
front
size
样例输出
3
5
2
empty
0
样例解释
step.1: 将3 push 入队尾,此时队列中元素为:[ 3 ]
step.2: 将5 push 入队尾,此时队列中元素为:[ 3, 5 ]
step.3: 输出队首元素,此时队首元素为3,所以输出“3”
step.4: 输出队尾元素,此时队尾元素为5,所以输出“5”
step.5: 输出队列中元素个数,此时队列中元素个数为2,所以输出“2”
step.6: 将队首元素出队列,队首元素3出队列后,队列中元素为:[ 5 ]
step.7: 将队首元素出队列,队首元素5出队列后,队列中元素为:[ ] , 是一个空队列了
step.8: 将队首元素出队列,但是因为这个时候队列已经空了,所以我们什么操作都不做
step.9: 输出队首元素,此时队列为空,所以输出“empty”
step.10: 输出队列中元素个数,此时队列中元素个数为0,所以输出“0”
P1030 队列的基本操作的更多相关文章
- 二、 编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek)
请指教交流! package com.it.hxs.c01; import java.util.Stack; /* 编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek) */ ...
- D_S 循环队列的基本操作
// main.cpp #include <iostream> using namespace std; #include "Status.h" typedef in ...
- 队列模拟基本操作I
看到这道题,第一个想法就是“搜索”!“回溯”!的确,这种思路是很正确的,BFS和DFS都可以来解决: #include <cstdlib> #include <cstring> ...
- C++中栈和队列的基本操作
栈操作: s.push(item) // 将item压入栈中 s.pop() // 删除栈顶元素,不返回值 s.top() // 读取栈顶元素,返回 ...
- C++ STL 学习笔记__(6)优先级队列priority_queue基本操作
10.2.7优先级队列priority_queue v 最大值优先级队列.最小值优先级队列 v 优先级队列适配器 STL priority_queue v 用来开发一些特殊的应用,请对stl的类 ...
- c语言描述的链队列的基本操作
#include<stdio.h> #include<stdlib.h> #define ok 0 #define error 1 //链队列特点在于不仅有链的头指针和尾指针, ...
- c语言实现队列的基本操作
话不多说,直接代码 #include"stdio.h" #include"stdlib.h" typedef struct QNode{ int date; s ...
- 实现队列的基本操作(数据结构)-python版
class Queue: def __init__(self): self.entries = [] self.length = 0 self.front = 0 def put(self, item ...
- c++用类写栈和队列的简单基本操作(实验)
继续更文.这次用类来写栈和队列,都是用数组模拟的: 以下是栈和队列的定义: 然后分别是栈和队列的类: 完整代码贴上: 栈 //使用类来定义栈 class ZHAN { public: STACK s; ...
随机推荐
- C++11中的并发
在 C++98 的时代,C++标准并没有包含多线程的支持,人们只能直接调用操作系统提供的 SDK API 来编写多线程程序,不同的操作系统提供的 SDK API 以及线程控制能力不尽相同.到了 C++ ...
- ThinkPHP5.0中报错could not find driver的解决方式
这个报错是我的tp5项目转移到另外的服务器中发生的错误, 其中报错信息中还包含这pdo等字眼 解决方法:在php.ini中开启php_pdp_mysql.dll
- display: none;、visibility: hidden、opacity=0区别总结
display: none; 1.浏览器不会生成属性为display: none;的元素. 2.display: none;不占据空间(毕竟都不熏染啦),所以动态改变此属性时会引起重排. 3.disp ...
- bzoj1688 疾病管理
Description Alas! A set of D (1 <= D <= 15) diseases (numbered 1..D) is running through the fa ...
- 1.Golang开山篇,GO就是NB!
目录:GO就是NB GO sb吗 安装环境 GO就是NB,K2R三位大佬写的GO,学GO不吃亏! (1)我们为什么要学 高并发 深度 || 广度 (2)go学习思路和目标 多打多练 掌握go语言 做一 ...
- 干货 | 解读MySQL 8.0新特性:Skip Scan Range
MySQL从8.0.13版本开始支持一种新的range scan方式,称为Loose Skip Scan.该特性由Facebook贡献.我们知道在之前的版本中,如果要使用到索引进行扫描,条件必须满足索 ...
- 三角形数且是完全平方数 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 E.Half-consecutive Numbers
三角形数:an=n*(n+1)/2; 完全平方数:bn=c^2; 既是三角形数又是完全平方数:An=6*A(n-1)-A(n-2)+2; A[23]={ 0, 1, 8, 49, 288, 1681, ...
- iOS打包上传ipa文件时,报错<ERROR ITMS-90096: "Your binary is not optimized for iPhone 5 - New iPhone apps......>的解决方案
很长一段时间习惯了用企业级证书发布,最近的新项目使用Xcode 9.1发布到AppStore时遇到了一个小问题(emm..其实问题跟Xcode版本没关系,我也不知道为什么要声明这个233),如下: E ...
- oracle函数 SOUNDEX(c1)
[功能]返回字符串参数的语音表示形式 [参数]c1,字符型 [返回]字符串 [说明]相对于比较一些读音相同,但是拼写不同的单词是非常有用的. 计算语音的算法: 1.保留字符串首字母,但删除a.e.h. ...
- poj 3159 Candies (dij + heap)
3159 -- Candies 明明找的是差分约束,然后就找到这题不知道为什么是求1~n的最短路的题了.然后自己无聊写了一个heap,518ms通过. 代码如下: #include <cstdi ...