queue 是一种容器适配器,并且只能访问该容器适配器的第一个和最后一个元素。只能在容器的末尾添加新元素,只能从头部移除元素。
查看队列的定义请看这篇博客,队列的定义和算法的实现
一、c++ queue的成员方法
在使用queue之前需要加如下所示对应的头文件。
#include <queue>
成员方法 | 功能 | 用法 |
---|---|---|
front() | 返回 queue 中第一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。 | c . f r o n t ( ) c.front() c.front() |
back() | 返回 queue 中最后一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。 | c . b a c k ( ) c.back() c.back() |
push(val) | 在 queue 的尾部添加一个元素的副本。这是通过调用底层容器的成员函数 push_back() 来完成的。 | c . p u s h ( v a l ) c.push(val) c.push(val) |
pop() | 删除 queue 中的第一个元素。 | c . p o p ( ) c.pop() c.pop() |
size() | 返回 queue 中元素的个数。 | c . s i z e ( ) c.size() c.size() |
empty() | 如果 queue 中没有元素的话,返回 true。 | c . e m p t y ( ) c.empty() c.empty() |
emplace() | 用传给 emplace() 的参数调用 T 的构造函数,在 queue 的尾部生成对象。 | c . e m p l a c e ( v a l u e ) ; c.emplace(value); c.emplace(value); |
swap | 将当前 queue 中的元素和参数 queue 中的元素交换。它们需要包含相同类型的元素。也可以调用全局函数模板 swap() 来完成同样的操作。 | c . s w a p ( d ) ; c.swap(d); c.swap(d); |
二、举例代码
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int> c;
c.push(4);
c.push(5);
cout << c.size() << ' ' << c.front() << endl;
c.pop();
cout << c.size() << ' ' << c.front() << endl;
return 0;
}
输出结果如下: