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 0;
}

原文地址:https://www.cnblogs.com/baobao2201128470/p/8722159.html

时间: 2024-10-15 15:52:57

STL之queue的相关文章

STL 之 queue、priority_queue 源码剖析

/* * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all c

STL之Queue(Q)

STL的Queue(数据结构中的队列): 特点:FIFO 先进先出: 自适应容器(即容器适配器)   栈适配器STL queue  STL中实现的Queue: 用list来实现queue: queue<int, list<int> >  q; 用deque来实现queue: queue<int, deque<int> > q; 不能用vector来实现queue: STL中Queue实现的方法(6种): q.empty(); q.size(); q.fron

Gengxin讲STL系列——Queue和Stack

第三篇. 感觉队列和栈是必须的……所以决定加上这两个…… 我发现我已经买域名买上隐了……今天又买了个.top……真是智障…… Queue(队列FIFO)和Statk(栈FILO). 那么为什么要这两个一块讲呢?理由很简单,数据结构小班同志们都学了,基础原理都会了,这两个东西很像,无论是在操作上还是其他别的方面…… 而这篇博客主要是详解STL中queue和statk的用法. 首先,回顾一下队列和栈: (1)     非STL的队列实现方法: 用数组模拟一个队列,两个指针,分别指向队列的头和尾,入队

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

说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构.1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一个元素4.pop() 删除第一个元素5.push() 在末尾加入一个元素6.size() 返回队列中元素的个数

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

C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型. 定义queue对象的示例代码如下: queue<int> q1; queue<double> q2; queue的基本操作有: 入队,如例:q.push(x); 将x接到队列的末端. 出队,如例:

C++ STL学习——queue

我们在上一篇博客中<C++ STL学习--stack>简单介绍了STL 中stack这种数据结构的使用,这篇博客主要来讲一下queue队列的使用.其实queue的使用和stack一样简单.示例代码上传至 https://github.com/chenyufeng1991/STL_queue . (1)首先要引入头文件  #include <queue> . 并使用命名空间  using namespace std; (2)同stack一样,queue也不能使用迭代器.因为queue

STL学习 - queue了解

Queue是STL中的队列表示. 特点是先进先出(First In First Output FIFO). 允许的操作是新增元素,移除元素,从最底端添加元素,从最顶端获取元素,除了从底端加入元素,从顶端取出外,没有任何其它方法可以存取queue的其他元素,也就是说queue不允许有遍历行为. 把元素推入queue的操作为push, 将元素推出queue的操作为pop. 由于queue系以底部容器完成其所有工作,而具有这种"修改某物接口,形成另外一种风貌"的性质的,称为adapter(容

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

本文原创,转载请保证文章的完整性,并显要的注明出处. 本文链接:http://blog.csdn.net/wlsgzl/article/details/38843513 平时很少用STL,就算用,也基本是使用queue<int>之类的简单数据类型,偶尔在MFC里写点小代码,用的也是queue<CString>. (求不要吐槽我为什么用CString不用string,在MFC里使用CString真的很方便,我对内存利用率和处理速度又没有什么要求,能跑就行,请勿吐槽.) =======

C++ STL学习 queue

本文修改自http://www.cnblogs.com/hdk1993/p/5809180.html 1.使用queue需要声明头文件#include <queue> 2.queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型. 3.queue 的基本操作有:入队,如例:que.push(x); 将x 接到队列的末端.出队,如例:que.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值.访问队首元素,如例: