首页 > 编程语言 >C++基础-STL queue

C++基础-STL queue

时间:2023-08-22 18:33:14浏览次数:32  
标签:deque char 插入 STL 元素 C++ queue 队列

queue 队列

1、特性

在一端插入元素,在一端取出元素,具有先进先出的特点,插入和删除都较快。

2、适用情况

需要一个先进先出结构时使用。

3、头文件

#include<queue>

4、复杂度

插入:push(),O(1) 删除:pop(),O(1) 查找(队列头):front(),O(1)

5、定义及常用函数

//默认为用deque容器实现的queue;
queue<int>q1;
queue<double>q2;  
queue<char>q3;
//用list容器实现的queue 
queue<char, list<char>>q1;
 //用deque容器实现的queue 
queue<int, deque<int>>q2;
push() 在队尾插入一个元素
pop() 删除队列第一个元素
size() 返回队列中元素个数
empty() 如果队列空则返回true
front() 返回队列中的第一个元素
back() 返回队列中最后一个元素

标签:deque,char,插入,STL,元素,C++,queue,队列
From: https://blog.51cto.com/u_16200950/7191989

相关文章

  • Windows中通过C++添加防火墙规则
    #include<iostream>#include<Windows.h>#include<netfw.h>intmain(){ HRESULThr=CoInitializeEx(0,COINIT_APARTMENTTHREADED);//初始化COM if(SUCCEEDED(hr)){ INetFwPolicy2*pFwPolicy2=NULL; //创建防火墙策略 hr=CoCreateInstance(......
  • C++11 lambda函数
    在数理逻辑或计算机科学领域中lambda是被用来表示一种匿名函数,这种匿名函数代表了一种所谓的λ演算(lambdacalculus)。intmain(){intgirls=3,boys=4;autototalChild=[](intx,inty)->int{returnx+y;};returntotalChild(girls,boys);}该函数接受两个参数......
  • 20230608 java.util.concurrent.locks.AbstractQueuedSynchronizer
    介绍java.util.concurrent.locks.AbstractQueuedSynchronizerpublicabstractclassAbstractQueuedSynchronizerextendsAbstractOwnableSynchronizerimplementsjava.io.Serializable提供一个框架,用于实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量、事件......
  • C++ 面向对象开发2
    staticstatic函数没有thispointer,static数据只有一份,static函数只能处理static数据。static数据在class外需要提供定义。单例设计classA{public:staticA&getInstance();setup(){...}private:A();;A(constA&rhs);...};A&A::getInst......
  • C++ 面向对象开发1
    ObjectBased:面对的是单一class的设计;ObjectOriented:面对的是多重classes的设计,classes和classes之间的关系。class前向声明,声明,定义。函数若在classbody中定义完成,便自动成为inline函数。如果函数太复杂就不会成为inline。overload的函数编译之后签名不同。虽然参数列表不......
  • 【转载】Macbook M1/M2如何调试c++代码?使用lldb即可
    转载自:https://www.zybuluo.com/qidiandasheng/note/349994#:~:text=GDB%3A,C%2B%2B或者Python插件。MacbookM1/M2无法安装gdb,但是可以使用lldb进行代码调试。使用方法和介绍如下:......
  • C++ 函数模版 不定参数
    实现参数不固定的加法,需要如下实现template<typenameT>TtempSum(constT&t){ staticTsum; sum+=t; returnsum;}//这里保存计算结果template<typenameT>TsaveValue(constT&t){ staticTtemp=t;//这里必须用static的功能 returntemp;}voidt......
  • 多态性 - C++中实现运行时多态的方式
    一、概述C++中的多态性是指同一个函数可以有多种不同的实现方式,并且在运行时根据实际情况进行选择执行。在C++中实现多态有两种方式:静态多态和动态多态。静态多态是指在编译时确定函数的实现,包括函数重载和模板函数;动态多态是指在运行时根据对象的实际类型来确定函数的实现,包括虚......
  • paddleocr在华为升腾920上编译C++ cpu版的推理
    最好用这个提供的docker环境华为昇腾NPU-PaddlePaddle深度学习平台编译推理库飞腾/鲲鹏下从源码编译—Paddle-Inferencedocumentation(paddlepaddle.org.cn)编译成功后还需要报错 Noruletomaketarget'/root/workspace/Paddle/build/paddle_inference_install_dir......
  • 4.8 C++ Boost 应用JSON解析库
    property_tree是Boost库中的一个头文件库,用于处理和解析基于XML、Json或者INFO格式的数据。property_tree可以提供一个轻量级的、灵活的、基于二叉数的通用容器,可以处理包括简单值(如int、float)和复杂数据结构(如结构体和嵌套容器)在内的各种数据类型。它可以解析数据文件到......