描述

使用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的更多相关文章

  1. Gengxin讲STL系列——Queue和Stack

    第三篇. 感觉队列和栈是必须的……所以决定加上这两个…… 我发现我已经买域名买上隐了……今天又买了个.top……真是智障…… Queue(队列FIFO)和Statk(栈LIFO). 那么为什么要这两个 ...

  2. STL之Queue(Q)

    STL的Queue(数据结构中的队列): 特点:FIFO 先进先出: 自适应容器(即容器适配器)   栈适配器STL queue  STL中实现的Queue: 用list来实现queue: queue ...

  3. STL之queue&stack使用简介

       queue 队列也是一个线性存储表,与后进先出的堆栈不同,元素数据的插入在表的一端进行,在另一端删除,从而构成了一个先进先出(First In First Out) 表.插入一端称为队尾,删除一 ...

  4. C++ 标准模板库STL 队列 queue 使用方法与应用介绍

    C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...

  5. 问题解决——在STL的queue中使用自定义类

    本文原创,转载请保证文章的完整性,并显要的注明出处. 本文链接:http://blog.csdn.net/wlsgzl/article/details/38843513 平时很少用STL,就算用,也基 ...

  6. STL 之 queue、priority_queue 源代码剖析

    /* * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute an ...

  7. c++ STL:队列queue、优先队列priority queue 的使用

    说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C ...

  8. STL之queue(单向队列)

    单向队列中的数据是先进先出(First In First Out,FIFO).单向队列一共6个常用函数(front().back().push().pop().empty().size()) #inc ...

  9. c++ STL stack & queue

    Stack 主要的方法有如下: empty() 堆栈为空则返回真                  pop() 移除栈顶元素(不会返回栈顶元素的值)                  push() 在 ...

随机推荐

  1. Bzoj1899: [Zjoi2004]Lunch 午餐

    题面 传送门 Sol 首先显然吃饭久的要排在前面 之后再来分配队伍,设\(f[i][j]\)表示到第\(i\)个人,\(A\)队伍要等\(j\)的最小吃完饭时间 那么就是一个简单的背包吧... # i ...

  2. [BZOJ1112] [POI2008] 砖块Klo (treap)

    Description N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次 ...

  3. Postman教程——创建第一个集合

    系列文章首发平台为果冻想个人博客.果冻想,是一个原创技术文章分享网站.在这里果冻会分享他的技术心得,技术得失,技术人生.我在果冻想等待你,也希望你能和我分享你的技术得与失,期待. 什么是集合 集合是P ...

  4. HiveQL DML 常用QL示例资料

    hive 2.1.1  DML操作 将文件加载到hive表 //官方指导 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tabl ...

  5. hive java编写udf函数

    (一)创建JAVA 代码--例子 package hiveOpt; import org.apache.hadoop.hive.ql.exec.UDF;import org.apache.hadoop ...

  6. 反射、Attribute

    1.发射是对类或者对象,查看其类内部的构造. 2.类的组成:属性(PropertyInfo).方法(MethodInfo).字段(FiedInfo).构造函数(ConstructorInfo).事件( ...

  7. ADS协议变量配置界面

    ADS协议是倍福产品的通信协议,在双击ADS协议图标后打开如下图的配置窗口. 变量配置表中各列的含义: 报警类型: 脚本: 当设置了报类型时,在运行时如果变量值引发报警时将执行一次脚本.例如 大于报警 ...

  8. 大数据(1):基于sogou.500w.utf8数据的MapReduce程序设计

    环境:centos7+hadoop2.5.2 1.使用ECLIPS具打包运行WORDCOUNT实例,统计莎士比亚文集各单词计数(文件SHAKESPEARE.TXT). ①WorldCount.java ...

  9. QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)

    QBlog简介: QBlog:是一个套博客系统,开源.支持多用户.多语言.及方便的多数据库切换. QBlog下载:http://www.cyqdata.com/download/article-det ...

  10. 值得 .NET 开发者了解的15个特性

    本文列举了 15 个值得了解的 C# 特性,旨在让 .NET 开发人员更好的使用 C# 语言进行开发工作. 1. ObsoleteAttribute ObsoleteAttribute 适用于除组件. ...