首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C++STL之queue

C++STL之queue

作者头像
陈大大川
发布2025-12-30 15:48:17
发布2025-12-30 15:48:17
890
举报

1.queue的介绍

1. 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元

素,另一端提取元素。

2. 队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供

一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列。

3. 底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。该底层容器应至少

支持以下操作:

empty:检测队列是否为空

size:返回队列中有效元素的个数

front:返回队头元素的引用

back:返回队尾元素的引用

push_back:在队列尾部入队列

pop_front:在队列头部出队列

4. 标准容器类deque和list满足了这些要求。默认情况下,如果没有为queue实例化指定容器

类,则使用标准容器deque。

2.queue的使用

函数声明

接口说明

queue()

构造空的队列

empty()

检测队列是否为空,是返回true,否则返回false

size()

返回队列中有效元素的个数

front()

返回队头元素的引用

back()

返回队尾元素的引用

push()

在队尾将元素val入队列

pop()

将队头元素出队列

3.queue的模拟实现 

代码语言:javascript
复制
#pragma once
#include<iostream>
#include<deque>
using namespace std;
namespace abc
{
    template<class T, class Con = deque<T>>
    class queue
    { 
    public:

        queue();

        void push(const T& x)
        {
            _c.push_back(x);
        }

        void pop()
        {
            _c.pop();
        }

        T& back()
        {
            return _c.back();
        }

        const T& back()const
        {
           return _c.back();
        }

        T& front()
        {
           return _c.front();
        }

        const T& front()const
        {
           return _c.front;
        }

        size_t size()const
        {
           return _c.size();
        }

        bool empty()const
        {
            return _c.empty();
        }

    private:

        Con _c;

    };


};

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档