C++(标准库):22---STL容器之(容器适配器之queue)
2020-04-19 21:19
405 查看
一、容器适配器概述
-
什么是适配器(container adapter):
一个适配器是一种机制,能使某种事物的行为看起来像另外一种事物一样 - 容器、迭代器、函数都有适配器(本文主题是容器的适配器)
- stack:栈。具有先进后出的特点。
基础语法参阅:https://blog.csdn.net/qq_41453285/article/details/105484289
- container adapter如今提供了reference和const_reference两个类型定义
- 一种容器适配器只能接受一种已有的容器类型
二、概念
- 队列。具有先进先出的特点
三、特点
- 元素先进先出
- queue底层可以构造于list和deque。默认基于deque实现
四、如何创建
- 头文件:#include<queue>
- 默认创建 queue<int> num;//创建一个元素类型为int的queue适配器,其底层容器类型默认基于deque实现(上面有介绍)
- queue<string,list<string>> str;//创建一个元素类型为string的queue适配器,其底层容器类型为list
五、相关操作与函数
[code]size_type:无符号整型,用于表示当前容器的大小、索引等 value_type:适配器中存在的元素类型 container_type:实现适配器的底层容器类型 queue<int,list<int>> num; queue<int,queue<int>>::value_type i;//i为int类型 queue<int,queue<int>>::container_type j;//j为queue类型
[code]//构造函数 A a;//创建一个名为a的空适配器 A a(b);//创建一个a的适配器,内容为b的拷贝
[code]q.empty();//判断当前适配器是否为空 q.size();//返回s中的元素个数 q.pop();//删除队首元素 q.front();//返回首元素,但不删除 q.back();//返回尾元素,但不删除 q.push(t);//在队尾添加元素t q.emplace(args);//在队尾添加由args构造的对象 q.swap(b);//交换q和b。成员函数版本 swap(q,b);//同上。系统函数版本
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- C++(标准库):23---STL容器之(容器适配器之priority_queue)
- C++(STL3)容器适配器(1) stack,queue and priority_queue
- C++的STL容器之容器适配器:stack、queue、priority_queue
- 8、【C++ STL】容器适配器(stack/queue/priority_queue)
- 从零开始学C++之STL(十一):容器适配器(stack、 queue 、priority_queue)源码浅析与使用示例
- C++之STL(十一):容器适配器(stack、 queue 、priority_queue)源码浅析与使用示例
- C++中STL(标准模板库)整理(容器:vector、deque、stack、queue、list、map、set)
- 【C++】容器适配器实现队列Queue的各种功能(入队、出队、判空、大小、访问所有元素等)
- C++ STL基本容器的使用(vector、list、deque、map、stack、queue)
- C++ STL 容器适配器
- STL容器适配器-队列(queue)
- STL 笔记(三) 容器适配器 stack、queue、priority_queue
- ACM: STL标准库容器的应用(vector、queue、list、map)
- C++容器适配器之Queue
- 【C++】容器适配器实现队列Queue的各种功能(入队、出队、判空、大小、访问所有元素等)
- 【C++】STL中的queue队列容器
- c++ 提高4 map容器 共性机制 使用时机 比较| STL算法 算法基础仿函数 谓词 函数适配器 遍历算法
- C++之STL(容器适配器概览)(蓝桥杯备战)
- STL学习——STL中的序列式容器及适配器总结(vector、list、deque、stack、queue)
- 从零开始学C++之STL(十一):容器适配器(stack、 queue 、priority_queue)源码浅析与使用示例