STL之queue
描述
使用STL中的queue,完成入队、出队、获取队首、获取队尾等基本操作。
部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。
int main()
{
queue<int> qu;
int n;
cin>>n;
while(n--)
{
Op(qu);
}
while(!qu.empty())
{
cout<<qu.front()<<endl;
qu.pop();
}
return 0;
}
输入
输入数据第一行为整数n,接下来有n个命令,其中命令格式:
(1)入队:push x
(2)出队:pop
(3)清空:clear
(4)获得队首并输出:first
(5)获得队尾并输出:last
如果部分操作无效,该操作不执行。
输出
操作过程中若有输出,每行一个元素,执行一系列操作后,输出从队首到队尾的所有元素值,每行一个。
样例输入
5
push 1
first
pop
push 3
push 4
样例输出
1
3
4
#include <iostream>
#include <string>
#include <stack>
#include <queue>
using namespace std;
void Op(queue<int> &qu)
{
string ss;
cin>>ss;
if(ss=="push")
{
int n;
cin>>n;
qu.push(n);
}
else if(ss=="clear")
{
while(!qu.empty())
{
qu.pop();
}
}
else if(ss=="pop")
{
if(!qu.empty())
{
qu.pop();
}
}
else if(ss=="first")
{
if(!qu.empty())
{
cout<<qu.front()<<endl;
}
}
else {
if(!qu.empty())
{
cout<<qu.back()<<endl;
}
}
}
int main()
{
queue<int> qu;
int n;
cin>>n;
while(n--)
{
Op(qu);
}
while(!qu.empty())
{
cout<<qu.front()<<endl;
qu.pop();
}
return ;
}
STL之queue的更多相关文章
- Gengxin讲STL系列——Queue和Stack
第三篇. 感觉队列和栈是必须的……所以决定加上这两个…… 我发现我已经买域名买上隐了……今天又买了个.top……真是智障…… Queue(队列FIFO)和Statk(栈LIFO). 那么为什么要这两个 ...
- STL之Queue(Q)
STL的Queue(数据结构中的队列): 特点:FIFO 先进先出: 自适应容器(即容器适配器) 栈适配器STL queue STL中实现的Queue: 用list来实现queue: queue ...
- STL之queue&stack使用简介
queue 队列也是一个线性存储表,与后进先出的堆栈不同,元素数据的插入在表的一端进行,在另一端删除,从而构成了一个先进先出(First In First Out) 表.插入一端称为队尾,删除一 ...
- C++ 标准模板库STL 队列 queue 使用方法与应用介绍
C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...
- 问题解决——在STL的queue中使用自定义类
本文原创,转载请保证文章的完整性,并显要的注明出处. 本文链接:http://blog.csdn.net/wlsgzl/article/details/38843513 平时很少用STL,就算用,也基 ...
- STL 之 queue、priority_queue 源代码剖析
/* * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute an ...
- c++ STL:队列queue、优先队列priority queue 的使用
说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C ...
- STL之queue(单向队列)
单向队列中的数据是先进先出(First In First Out,FIFO).单向队列一共6个常用函数(front().back().push().pop().empty().size()) #inc ...
- c++ STL stack & queue
Stack 主要的方法有如下: empty() 堆栈为空则返回真 pop() 移除栈顶元素(不会返回栈顶元素的值) push() 在 ...
随机推荐
- Bzoj1899: [Zjoi2004]Lunch 午餐
题面 传送门 Sol 首先显然吃饭久的要排在前面 之后再来分配队伍,设\(f[i][j]\)表示到第\(i\)个人,\(A\)队伍要等\(j\)的最小吃完饭时间 那么就是一个简单的背包吧... # i ...
- [BZOJ1112] [POI2008] 砖块Klo (treap)
Description N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次 ...
- Postman教程——创建第一个集合
系列文章首发平台为果冻想个人博客.果冻想,是一个原创技术文章分享网站.在这里果冻会分享他的技术心得,技术得失,技术人生.我在果冻想等待你,也希望你能和我分享你的技术得与失,期待. 什么是集合 集合是P ...
- HiveQL DML 常用QL示例资料
hive 2.1.1 DML操作 将文件加载到hive表 //官方指导 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tabl ...
- hive java编写udf函数
(一)创建JAVA 代码--例子 package hiveOpt; import org.apache.hadoop.hive.ql.exec.UDF;import org.apache.hadoop ...
- 反射、Attribute
1.发射是对类或者对象,查看其类内部的构造. 2.类的组成:属性(PropertyInfo).方法(MethodInfo).字段(FiedInfo).构造函数(ConstructorInfo).事件( ...
- ADS协议变量配置界面
ADS协议是倍福产品的通信协议,在双击ADS协议图标后打开如下图的配置窗口. 变量配置表中各列的含义: 报警类型: 脚本: 当设置了报类型时,在运行时如果变量值引发报警时将执行一次脚本.例如 大于报警 ...
- 大数据(1):基于sogou.500w.utf8数据的MapReduce程序设计
环境:centos7+hadoop2.5.2 1.使用ECLIPS具打包运行WORDCOUNT实例,统计莎士比亚文集各单词计数(文件SHAKESPEARE.TXT). ①WorldCount.java ...
- QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
QBlog简介: QBlog:是一个套博客系统,开源.支持多用户.多语言.及方便的多数据库切换. QBlog下载:http://www.cyqdata.com/download/article-det ...
- 值得 .NET 开发者了解的15个特性
本文列举了 15 个值得了解的 C# 特性,旨在让 .NET 开发人员更好的使用 C# 语言进行开发工作. 1. ObsoleteAttribute ObsoleteAttribute 适用于除组件. ...