STL 队列
头文件
#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 队列的更多相关文章
- 模板——STL队列
C++ STL queue 容器优先队列&&队列 队列 #include<queue> #include<iostream> using namespace s ...
- C++ 标准模板库STL 队列 queue 使用方法与应用介绍
C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...
- STL队列 之FIFO队列(queue)、优先队列(priority_queue)、双端队列(deque)
1.FIFO队列 std::queue就是普通意思上的FIFO队列在STL中的模版. 1.1主要的方法有: (1)T front():访问队列的对头元素,并不删除对头元素 (2)T back(): ...
- C++ 学习笔记之 STL 队列
一. 引言 在算法以及数据结构的实现中,很多地方我们都需要队列(遵循FIFO,先进先出原则). 为了使用队列,我们可以自己用数组来实现队列,但自己写太麻烦不说,并且还很容易出错. 好在C++的STL ...
- C++STL——队列
一.相关定义 原理:queue 队列也是一个线性存储表,元素数据的插入在表的一端进行,在另一端删除,从而构成了一个先进先出FIFO(First In First Out)表. 队头&队尾:插入 ...
- c++ STL:队列queue、优先队列priority queue 的使用
说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C ...
- 【UVA】10935 Throwing cards away I(STL队列)
题目 题目 分析 练习STL 代码 #include <bits/stdc++.h> using namespace std; int main() { int n; wh ...
- 【UVA】12100 Printer Queue(STL队列&优先队列)
题目 题目 分析 练习STL 代码 #include <bits/stdc++.h> using namespace std; int main() { int t; sc ...
- STL 队列模板实现
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u010016150/article/details/32715801 C++ Prime确实有点 ...
随机推荐
- EPG开发《异常排查以及解决方案》
[框架]
- maven多仓库配置(公司服务器与阿里云仓库)
1. 问题描述 公司内网搭建的有maven私有服务器,但是碰到好几次只有gav没有jar的情况或者最新版本更新不及时,所以需要公司服务器和远程仓库(阿里云)相结合来满足项目需求. 2. 解决方案: m ...
- [ZJOI2008]杀蚂蚁antbuster 题解
一个题目的可读版本:https://www.zybuluo.com/Jerusalem/note/221811 这两天做的又一道大模拟题,感觉这玩意有毒,会上瘾啊…… 比起猪国杀这道题真心不知道高到哪 ...
- Unity 3d 脚本常用事件
1.学习笔记,每天晚上看看unity 3d 的教程 学点东西,先上一张图 这是 系统中脚本执行的顺序图 Awake()在MonoBehavior创建后就立刻调用,在脚本实例的整个生命周期中,Awake ...
- openstack实验环境搭建
Openstack实验文档 一.base节点 1.1配置网络 vim /etc/sysconfig/network-scripts/ifcfg-eth0 1.2关闭防火墙和selinux system ...
- python 2.7 - 3.5 升级之路 (一) : 准备阶段开发环境 -- pip3, vitualEnv, pycharm
背景 由于之前项目采用的版本是Python2.7, 考虑到Python 2.7 到明年(2020年后将会停止更新),以及为了更好的适应中文和拥抱新的特性.我们决定将其从python 2 升级到最新的 ...
- ieda使用 在jsp页面中,有时候会出现不能智能显示方法 idea pageContext.setAttribute
idea使用,出现问题记录: 就比如在 pageContext.setAttribute("user",u);这句打pageContext会智能提示, 但是后面的setAttrib ...
- 哥们,B/S了解吗?——啥玩意,我是敲代码的
了解B/S和C/S 前言:......“学好长时间编程了,JavaSE学完了,前端也简单学了”.....“那你学这么多,讲讲B/S吧”......“B/S?这是个啥玩意?没听过”......“靠,牛逼 ...
- spark 源码分析之十八 -- Spark存储体系剖析
本篇文章主要剖析BlockManager相关的类以及总结Spark底层存储体系. 总述 先看 BlockManager相关类之间的关系如下: 我们从NettyRpcEnv 开始,做一下简单说明. Ne ...
- 关于C#多线程、易失域、锁的分享
一.多线程 windows系统是一个多线程的操作系统.一个程序至少有一个进程,一个进程至少有一个线程.进程是线程的容器,一个C#客户端程序开始于一个单独的线程,CLR(公共语言运行库)为该进程创建了一 ...