参考资料:
STL 在 OI 中的应用

stack

stack 后入先出(LIFO)栈

头文件:

#include<stack>

定义:

stack<int> s;

函数:

函数 功能
q.top() 获取栈顶元素(并不删除)
q.pop() 删除栈顶元素
q.push(x) 向栈中加入元素
q.empty() 判断栈是否为空

queue

queue 先入先出(FIFO)队列

头文件:

#include<queue>

定义:

queue<int> q;

函数:

函数 功能
q.front() 获取队首元素(并不删除)
q.pop() 删除队首元素
q.push(x) 向队列中加入元素
q.empty() 判断队列是否为空

priority_queue 优先队列

头文件:

#include<queue>

定义:

priority_queue<int> q; // 队头最大
priority_queue<int,vector<int>,greater<int> > q; 队头最小

函数:

函数 功能
q.top() 获取优先队列中最大的元素(并不删除),其时间复杂度为\(O(1)\)
q.pop() 删除优先队列中最大元素,其时间复杂度为\(O(log n)\)
q.push(x) 向优先队列中加入元素,其时间复杂度为\(O(log n)\)
q.empty() 判断优先队列是否为空

转载于:https://www.cnblogs.com/colorfulmist/p/10183347.html

[C++] stack和queue的常用函数相关推荐

  1. C++STL常用函数

      C++的STL提供给我们很多方便的操作,可以从C语言中一些繁琐的操作中解放出来.这篇文章就简要总结一下STL中常用的及其各自的常用函数.内容涉及:stack,queue,vector,string ...

  2. C++中有关queue常用函数的用法及其注意要项

    11:C++中有关queue常用函数的用法及其注意要项 #include<bits/stdc++.h> using namespace std; int main(){queue < ...

  3. [C++基础]队列queue中的常用函数

    [C++基础]队列queue中的常用函数 本博客转载自:https://www.cnblogs.com/xuning/p/3321733.html 在C++中只要#include即可使用队列类,其中在 ...

  4. 6-5-1:STL之stack和queue——stack和queue的快速入门、常用接口以及适配器的概念

    文章目录 一:简单介绍 (1)stack (2)queue 二:stack和queue的应用 三:stack和queue的模拟实现--适配器 一:简单介绍 stack和queue是STL中的两个容器, ...

  5. C++知识点25——使用C++标准库(容器适配器stack、queue、priority_queue)

    除了vector,list,deque等常用的容器,还有根据这些常用的容器进行改造来满足特殊要求的容器,这些特殊容器的行为和常用容器很相近,也称为容器适配器. 常用的容器适配器有三个,分别是stack ...

  6. STL库:stack和queue

    STL库:stack和queue 文章目录 STL库:stack和queue 1.STL库中stack的官方介绍 2.stack的常用接口 3.stack的模拟实现 4.STL库中queue的官方介绍 ...

  7. stack、queue和priority_queue

    目录 一.栈(stack) 1.stack的使用 2.容器适配器 3.stack的模拟实现 二.队列(queue) 1.queue的使用 2.queue的模拟实现 三.双端队列(deque) 1.ve ...

  8. stack、queue、priority_queue

    容器适配器 适配器是一种设计模式(设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口. 其中stack和queue都是 ...

  9. c++常用函数所在头文件一览

    c++常用函数所在头文件一览 函数           包含              类别              功能 _atold             math.h            ...

最新文章

  1. 感恩节里我成了一个不解风情的爸爸
  2. centos和ubuntu安装卸载软件(rpm/dpkg)
  3. 解决Vs输出中文乱码的问题
  4. MySQL与会计报表_会计报表的18项必须审核的数据
  5. Python数据挖掘学习笔记】九.回归模型LinearRegression简单分析氧化物数据
  6. 【Android】13.3 使用SQLite.NET-PCL访问SQLite数据库
  7. 解决JSP中文乱码问题
  8. Termux安装Python
  9. ant design loading 使用
  10. 植被覆盖度的遥感估算
  11. Arquillian测试框架快速上手教程(四)- 使用Arquillian + Drone + Selenium + Graphene 进行Web自动化测试
  12. [NLP]OpenNLP词性标注器的使用
  13. 纯js轮播图练习-3,类似于淘宝海报带小圆点轮播图
  14. 家庭媒体中心解决方案(二、家用中高端路由器及NAS介绍)
  15. 游戏中的摇杆(手写摇杆)
  16. Java编程题-买苹果
  17. 「产品社群」话题讨论精华·第2期
  18. 天融信虚拟企业防火墙学习
  19. 2021年上海互联网公司非官方排名
  20. Imagination在GDC 2022上推出下一代移动游戏解决方案

热门文章

  1. codewars-013: Ease the StockBroker
  2. Centos7 nginx 虚拟主机、反向代理服务器及负载均衡,多台主机分离php-fpm实验
  3. Error:Execution failed for task ':myapp:dexDebug'. com.android.ide.common.process.ProcessExcepti
  4. Mysql 的使用方式,挺全的够用了
  5. WCF-学习笔记概述之计算服务(1)
  6. [原] XAF How to Edit multiple objects in a ListViewAndDetailView
  7. 关于多线程Thread.Stop()破坏原子性
  8. PhotoshopCS6-视觉特效插画技法-1-什么是视觉特效(1)
  9. linux 读书笔记
  10. OpenGL中的颜色再次讨论