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确实有点 ...
随机推荐
- kuangbin专题专题四 Heavy Transportation POJ - 1797
题目链接:https://vjudge.net/problem/POJ-1797 思路:请参考我列出的另一个题目,和这个题目要求的值相反,另一个清楚后,这个写的解释就明白了. 另一个类似题目的博客:h ...
- HTML表单部分学习笔记
第一部分: <!-- action :指定处理提交表单的格式 method :指定提交表单的http方法 enctype:指明用来把表单提交给服务器时的互联网媒体形式 --> <fo ...
- 关于MarkDownPad2安装遇到的一些问题
关于MarkdownPad MarkdownPad是Windows下的一个多功能Markdown编辑器.即时看到你的Markdown文件,当你创建它们的时候,看起来就像是在HTML中的一样.当您输入时 ...
- csv文件数据导出到mongo数据库
from pymongo import MongoClientimport csv# 创建连接MongoDB数据库函数def connection(): # 1:连接本地MongoDB数据库服务 co ...
- java学习笔记(基础篇)—面向对象编程之封装、继承、多态
一. OOP中的基本概念 Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP), 它允许设计者将面向对象设计实现为一 ...
- 个人永久性免费-Excel催化剂功能第93波-地图数据挖宝之两点距离的路径规划
在日常手机端,网页端的向地图发出两点距离的行程规划,相信绝大多数人都有用到过,但毕竟是个体单一行为,若某些时候需要用到批量性的操作,就显得很不现实了,同时,数据只是在应用或网页内,非结构化的数据,也是 ...
- NameNode和SecondaryNameNode的工作机制
NameNode&Secondary NameNode 工作机制 NameNode: 1.启动时,加载编辑日志和镜像文件到内存 2.当客户端对元数据进行增删改,请求NameNode 3.Nam ...
- python小技巧 将二元列表转为一元列表
list=[num for row in nums for num in row]
- bugku安卓First_Mobile wp
1 打开题目,下载apk 2 将下载好的apk拖进android killer中,提示文件名过长,随便更改一下文件名即可 3 查看入口文件源码(点击android killer工具栏咖啡杯图标) 4 ...
- random,time,sys,os
import random print(random.random()) #(0,1)大于0且小于1之间的小数 print(random.randint(1,3)) #大于等于1且小于等于3之间的整数 ...