C++的queue是一种先进先出(FIFO)的数据结构,可以用来存储一系列元素。它属于STL(Standard Template Library)的一部分,以queue模板类的形式提供。
要使用queue,需要包含头文件,并使用std命名空间。queue模板类的定义如下:
template <class T, class Container = std::deque<T>>
class queue;
其中,T是存储在队列中的元素类型,Container是用于存储元素的底层容器,默认为std::deque。
queue支持以下主要操作:
- push(element): 将元素element添加到队列的末尾。
- pop(): 移除队列中的第一个元素。
- front(): 返回队列中的第一个元素的引用。
- back(): 返回队列中的最后一个元素的引用。
- empty(): 检查队列是否为空。
- size(): 返回队列中元素的数量。
下面是一个示例,演示了如何使用queue:
#include <iostream>
#include <queue>int main() {std::queue<int> myQueue;myQueue.push(10);myQueue.push(20);myQueue.push(30);while (!myQueue.empty()) {std::cout << myQueue.front() << " ";myQueue.pop();}return 0;
}
输出结果为:10 20 30
在示例中,首先创建了一个名为myQueue的queue对象,并向其中添加了三个整数元素。然后,使用while循环迭代队列直到为空,每次从队列中获取并输出第一个元素,然后将其移除。
请注意,需要使用std::queue来声明queue对象,并使用push、pop、front等函数进行操作。