本文概述
- 句法
- 模板参数
- 成员类型
- 功能
句法
template<
class T, class Container = deque<
T>
>
class queue;
此数据结构适用于FIFO技术, 其中FIFO代表先进先出。首先插入的元素将首先被提取, 依此类推。有一个称为“前”的元素, 它是位于最前位置或位于第一个位置的元素, 也有一个称为“后”的元素, 它是位于最后位置的元素。在普通队列中, 元素的插入在后端, 而删除则从前端开始。
应用程序区域中的队列隐含为容器适配器。
【C++队列queue用法】容器应支持以下操作列表:
- 空的
- 尺寸
- 推回
- pop_front
- 面前
- 背部
容器:参数指定容器的内部对象, 队列元素保留在该对象中。
成员类型下面给出了队列成员类型的列表, 并对其进行了简短描述。
成员类型 | 描述 |
---|---|
value_type | 指定了元素类型。 |
container_type | 指定了基础容器类型。 |
size_type | 它指定元素的大小范围。 |
reference | 它是容器的引用类型。 |
const_reference | 它是常量容器的引用类型。 |
功能 | 描述 |
---|---|
(constructor) | 该函数用于构造队列容器。 |
empty | 该函数用于测试队列是否为空。如果队列为空, 则该函数返回true, 否则返回false。 |
size | 该函数返回队列容器的大小, 该大小是对队列中存储的元素数量的度量。 |
front | 该函数用于访问队列的前部元素。该元素起着非常重要的作用, 因为所有删除操作都是在最前面的元素上执行的。 |
back | 该函数用于访问队列的后部元素。该元件起着非常重要的作用, 因为所有插入操作都在后部元件上执行。 |
push | 该函数用于在队列的后端插入新元素。 |
pop | 该功能用于删除元素;队列中的元素将从前端删除。 |
emplace | 该函数用于在当前后元素上方的队列中插入新元素。 |
swap | 该功能用于交换两个引用容器的内容。 |
relational operators | 非成员函数指定队列所需的关系运算符。 |
uses allocator< queue> | 顾名思义, 非成员函数将分配器用于队列。 |
#include <
iostream>
#include <
queue>
using namespace std;
void showsg(queue <
int>
sg)
{
queue <
int>
ss = sg;
while (!ss.empty())
{
cout <
<
'\t' <
<
ss.front();
ss.pop();
}
cout <
<
'\n';
}int main()
{
queue <
int>
fquiz;
fquiz.push(10);
fquiz.push(20);
fquiz.push(30);
cout <
<
"The queue fquiz is : ";
showsg(fquiz);
cout <
<
"\nfquiz.size() : " <
<
fquiz.size();
cout <
<
"\nfquiz.front() : " <
<
fquiz.front();
cout <
<
"\nfquiz.back() : " <
<
fquiz.back();
cout <
<
"\nfquiz.pop() : ";
fquiz.pop();
showsg(fquiz);
return 0;
}
输出:
The queue fquiz is :10 20 30fquiz.size() : 3
fquiz.front() : 10
fquiz.back() : 30
fquiz.pop() :20 30
推荐阅读
- C++ STL集合set
- C++常见程序实例
- C++ int转换为字符串
- C++输出迭代器解析和用法
- C++迭代器用法
- C++前向迭代器用法
- C++双向迭代器用法
- C++中的阿姆斯特朗数
- 生成斐波那契三角形的C++程序