头文件

#include <queue>

定义

普通队列:

queue < int > q;

优先队列:

priority_queue < int, vector< int >, greater< int > > q; //递增
priority_queue < int, vector< int >, less< int > >q; //递减

函数

普通队列

  • void push(x):将x压入队列的末端
  • void pop():弹出队顶元素
  • int front():返回队顶元素
  • int back():返回队尾元素
  • bool empty():当队列为空时,返回true
  • int size():返回队列的长度

优先队列

  • int push(x):将x压入队列的末端
  • void pop():弹出队顶元素
  • int top():返回队顶元素
  • int back():返回队尾元素
  • bool empty():当队列为空时,返回true
  • int size():返回队列的长度

例子

#include <queue>
#include <cstdio>
using namespace std;
queue < int > q1;
priority_queue < int, vector< int >, greater< int > > q2;
priority_queue < int, vector< int >, less< int > >q3;
int main()
{
q1.push(2); q1.push(1); q1.push(3); q1.push(5); q1.push(4);
q2.push(2); q2.push(1); q2.push(3); q2.push(5); q2.push(4);
q3.push(2); q3.push(1); q3.push(3); q3.push(5); q3.push(4);
printf("q1.size = %d\nq1.top = %d\n", q1.size(), q1.front());
printf("q2.size = %d\nq2.top = %d\n", q2.size(), q2.top());
printf("q3.size = %d\nq3.top = %d\n", q3.size(), q3.top());
printf("q1:");
while (!q1.empty())
{
printf("%d ", q1.front());
q1.pop();
}
puts("");
printf("q2:");
while (!q2.empty())
{
printf("%d ", q2.top());
q2.pop();
}
puts("");
printf("q3:");
while (!q3.empty())
{
printf("%d ", q3.top());
q3.pop();
}
puts("");
}

STL 队列的更多相关文章

  1. 模板——STL队列

    C++ STL queue 容器优先队列&&队列 队列 #include<queue> #include<iostream> using namespace s ...

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

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

  3. STL队列 之FIFO队列(queue)、优先队列(priority_queue)、双端队列(deque)

    1.FIFO队列   std::queue就是普通意思上的FIFO队列在STL中的模版. 1.1主要的方法有: (1)T front():访问队列的对头元素,并不删除对头元素 (2)T back(): ...

  4. C++ 学习笔记之 STL 队列

    一.  引言 在算法以及数据结构的实现中,很多地方我们都需要队列(遵循FIFO,先进先出原则). 为了使用队列,我们可以自己用数组来实现队列,但自己写太麻烦不说,并且还很容易出错. 好在C++的STL ...

  5. C++STL——队列

    一.相关定义 原理:queue 队列也是一个线性存储表,元素数据的插入在表的一端进行,在另一端删除,从而构成了一个先进先出FIFO(First In First Out)表. 队头&队尾:插入 ...

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

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

  7. 【UVA】10935 Throwing cards away I(STL队列)

    题目 题目     分析 练习STL     代码 #include <bits/stdc++.h> using namespace std; int main() { int n; wh ...

  8. 【UVA】12100 Printer Queue(STL队列&优先队列)

    题目 题目     分析 练习STL     代码 #include <bits/stdc++.h> using namespace std; int main() { int t; sc ...

  9. STL 队列模板实现

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u010016150/article/details/32715801   C++ Prime确实有点 ...

随机推荐

  1. 常见Code Review过程中发现的问题-续

    上一篇列举了一些比较常见的Code Review问题列表,文末有链接,可追溯查看.本篇为上篇的姊妹篇,继续列举一些上篇遗漏的或不易发现的问题清单,希望能整体性把一些常见的问题表述出来. 测试数据不具有 ...

  2. Spring Boot 2.0 迁移指南

    ![img](https://mmbiz.qpic.cn/mmbiz_jpg/1flHOHZw6Rs7yEJ6ItV43JZMS7AJWoMSZtxicnG0iaE0AvpUHI8oM7lxz1rRs ...

  3. 9.22考试 crf的视察 题解

    这道题当时第一反应就是一道典型的NOIP第一题的难度,绝对要A掉,不然分数一定会被拉开. 然后就开始分析,暴力是一开始想的是用二维树状数组打加上暴力枚举长度,然而这道题满足二分性质,所以时间复杂度就是 ...

  4. [NOIP2009]靶形数独 题解

    407. [NOIP2009] 靶形数独 时间限制:5 s   内存限制:128 MB [问题描述] 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低. ...

  5. linux应用程序设计--Makefile工程管理

    Makefile文件描述了整个工程的编译.链接等规则.包括:工程中哪些源文件需要编译以及如何编译:需要创建哪些库文件以及如何创建这些库文件.如何产生最终的可执行文件. Makefile相关术语 1.规 ...

  6. [原创]Rsync搭建和使用

    rsync服务的搭建和使用 ***下载安装: #wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz #tar -zxvf ...

  7. MFC在一个工程中启动其他工程的exe文件

    说明:有的时候把两个工程合并,但是偷懒不想在工程中添加代码,所以想到了这个办法,仅限偷懒哈哈哈哈 方法:新建一个主程序,在主程序的界面中添加按钮,在按钮的程序代码中添加以下语句: void CMain ...

  8. mysql -h139.129.205.80 -p test_db_dzpk < db.dump

    mysqldump -h139.129.205.80 -uroot -p db_a > db_dzpk.dump mysql -h139.129.205.80 -p test_db< db ...

  9. CF543B Destroying Roads 题解

    看到没有题解就贡献一波呗 分析: 这题其实就是想让我们求一个图中两条最短路的最短(好把更多的边删掉). 我们先考虑一条最短路,别问我我怎么会的显然,就是s和t跑个最短路再用n-就行. 然后就是两条喽! ...

  10. python 2.7 - 3.5 升级之路 (一) : 准备阶段开发环境 -- pip3, vitualEnv, pycharm

    背景 由于之前项目采用的版本是Python2.7, 考虑到Python 2.7 到明年(2020年后将会停止更新),以及为了更好的适应中文和拥抱新的特性.我们决定将其从python 2 升级到最新的 ...