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; ...
 
随机推荐
- qt,pro文件中用于平台区分的写法
			
qt,pro文件中用于平台区分的写法 切记: 大括号和平台需要在同一行中,否则会失效 unix { TARGET = appname } macx { TARGET = appname2 } win3 ...
 - CSS权值比较(读书笔记)
			
1.继承0.1 标签1 类选择符10 ID选择符100 2.层叠:后面的样式会覆盖前面的样式. 3.内联样式表(标签内部) > 嵌入样式表(当前文件中) > 外部样式(外 ...
 - Python 基于 NLP 的文本分类
			
这是前一段时间在做的事情,有些python库需要python3.5以上,所以mac请先升级 brew安装以下就好,然后Preference(comm+',')->Project: Text-Cl ...
 - Directx教程(26) 简单的光照模型(5)
			
原文:Directx教程(26) 简单的光照模型(5) 在前面的工程中,我们都是在vs中实现顶点光照计算,然后再把顶点颜色传到ps中.本章中我们尝试fragment光照(或者说叫ps光照),在 ...
 - 寒哥带你深入了解下Swift中的Value Type
			
http://www.cocoachina.com/swift/20150923/13539.html 关于开发到底使用ValueType 值类型还是Reference Type 引用类型,关于这个, ...
 - Myeclipse运行提示错误: 找不到或无法加载主类 test.test1 终极解决办法
			
前提是代码没有问题 简单粗暴的解决办法: 重启电脑 解决办法2: 1.在控制台中点开“Problems”,查看里面的错误.如果是多个项目,可以将其他项目暂时关闭. 根据错误进行处理. 2.把项目cle ...
 - 运行docker容器镜像
			
docker容器可以理解为在盒中运行的进程. 这个盒包含了该进程运行所必须的资源,包括文件系统.系统类库.shell 环境等等. 但这个盒默认是不会运行任何程序的. 1.运行镜像之前,可以先查看本地有 ...
 - jQuery 手风琴效果
			
//点击标题弹出对应的div 再次点击则隐藏 //jQuery只能获取行内的样式 没法获取头部的样式 $(".parentWrap .menuGroup span.groupTitle&qu ...
 - Docker Swarm:经济高效的容器调度
			
本文探讨了几种容器调度策略,并以内存约束为例,讨论了如何利用Docker Swarm,通过资源约束实现容器的合理调度.其中,对容器资源的约束,包括硬约束和软约束,硬约束是指内存资源的实际限制条件,而软 ...
 - HDU 5672 String【尺取法】
			
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5672 题意: 有一个10≤长度≤1,000,000的字符串,仅由小写字母构成.求有多少个子串,包含有 ...