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确实有点 ...
随机推荐
- Bzoj 2839 集合计数 题解
2839: 集合计数 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 495 Solved: 271[Submit][Status][Discuss] ...
- Python解题技巧
Python解题技巧 一直都是用C++和C解题,某题简单解完后便心血来潮想用Python解一次,发现一些问题,特写此篇随笔来记录. 一. 输入格式: 例:输入第1行给出正整数n和整数m:第2行给出n个 ...
- Java编程思想:内部类其他知识点
public class Test { public static void main(String[] args) { // InheritInner.test(); // EggTest.test ...
- spring boot 整合lombok+tkmapper+mybatis-generator
1.lombok <dependency> <groupId>org.projectlombok</groupId> <artifactId& ...
- Minikube安装成功Kubernetes,一次过!
介绍 Minikube 是 K8S 官方为了开发者能在个人电脑上运行 K8S 而提供的一套工具.实现上是通过 Go 语言编写,通过调用虚拟化管理程序,创建出一个运行在虚拟机内的单节点集群. 注:从这里 ...
- JAVA环境+eclipse+tomcat+maven配置
1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ----------------- ...
- python基础练习 斐波那契数列
转载于知乎刘奕聪的方法 一 f = [1, 1]print([f.append((f[-1] + f[-2])) or f.pop(0) for i in range(100)]) /// f.ap ...
- 《C# 语言学习笔记》——委托
委托是一种可以把引用存储为函数的类型. 委托的声明非常类似于函数,但不带函数体,且要使用delegate关键字.委托的声明制定了一个返回类型和一个参数列表. 在定义了委托后,就可以声明该委托类型的变量 ...
- 《VR入门系列教程》之7---DK2和Crescent Bay
The DK2 于2014年春,Oculus发布了第二代开发版头显设备,代号为DK2.与DK1相比,Oculus Rift DK2的外观有很大改进,并且轻了许多,体积仍然比较大,可以罩住大部分 ...
- Spring applicationContext爆出警告“Resource leak: 'applicationContext' is never closed”
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath); 此处applicationCo ...