定义
C++ 中的队列(queue
)是一种先进先出(FIFO)的数据结构。
api
-
构造函数:
queue()
: 创建一个空队列。explicit queue(const Container& cont)
: 使用容器cont
中的元素构造一个队列。queue(const queue& other)
: 复制构造函数,创建一个与另一个队列other
完全相同的队列。
-
赋值和交换:
operator=()
: 将另一个队列的内容赋值给当前队列。swap()
: 交换两个队列的内容。
-
容量:
empty()
: 检查队列是否为空。size()
: 返回队列中元素的数量。
-
访问元素:
front()
: 返回队列中第一个元素的引用。back()
: 返回队列中最后一个元素的引用。
-
修改容器:
push(const T& value)
: 在队尾添加一个元素。pop()
: 移除队首元素。emplace(Args&&... args)
: 在队尾就地构造一个元素。emplace_front(Args&&... args)
: 在队首就地构造一个元素。
示例
#include <iostream>
#include <queue>
int main() {
// 创建一个空队列
std::queue<int> myQueue;
// 向队列中添加元素
myQueue.push(1);
myQueue.push(2);
myQueue.push(3);
// 访问队列中的第一个元素
std::cout << "Front element of the queue: " << myQueue.front() << std::endl;
// 移除队列中的第一个元素
myQueue.pop();
// 访问队列中的最后一个元素
std::cout << "Back element of the queue: " << myQueue.back() << std::endl;
// 检查队列是否为空
if (!myQueue.empty()) {
std::cout << "Queue is not empty." << std::endl;
} else {
std::cout << "Queue is empty." << std::endl;
}
// 输出队列中的元素数量
std::cout << "Number of elements in the queue: " << myQueue.size() << std::endl;
return 0;
}