c++ queue
时间: 2023-11-03 13:57:00 浏览: 126
queue是一种容器转换器模板,通过调用#include<queue>即可使用队列类。在进行queue的初始化时,必须指定数据类型,而容器可以省略,省略时默认为deque类型。例如,可以使用以下方式进行queue的初始化:
queue<int>q1;
queue<double>q2;
queue<char>q3;(默认使用deque容器实现的queue)
queue<char, list<char>>q1;(使用list容器实现的queue)
queue<int, deque<int>>q2;(使用deque容器实现的queue)
需要注意的是,不能使用vector容器来初始化queue。
另外,可以使用size()函数来返回队列中元素的个数。例如,在一个queue<string>对象q中,通过q.push("first")和q.push("second")向队列中添加元素,然后使用cout<<q.size()<<endl;来输出队列中元素的个数。
相关问题
c++queue
C++ STL 中的 queue 是一种先进先出(First In First Out,FIFO)的容器,它支持在队列尾部添加元素,在队列头部删除元素。
在使用 queue 之前,需要包含头文件 `<queue>`。queue 的定义方式如下:
```cpp
template <class T, class Container = deque<T>> class queue;
```
其中,`T` 表示队列元素的类型,`Container` 表示底层容器类型,默认为 `deque<T>`。
queue 支持以下常用操作:
- `push(elem)`:在队列尾部添加元素 `elem`。
- `pop()`:删除队列头部元素。
- `front()`:返回队列头部元素。
- `back()`:返回队列尾部元素。
- `empty()`:判断队列是否为空。
- `size()`:返回队列中元素的个数。
下面是一个使用 queue 的例子:
```cpp
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
q.push(1);
q.push(2);
q.push(3);
cout << "front: " << q.front() << endl;
cout << "back: " << q.back() << endl;
while (!q.empty()) {
cout << q.front() << " ";
q.pop();
}
return 0;
}
```
输出结果为:
```
front: 1
back: 3
1 2 3
```
遍历C++ queue
遍历C queue可以使用while循环和queue的pop()函数来实现,具体代码如下:
while (!queue.empty()) {
int front = queue.front();
queue.pop();
// 对front进行处理
}
其中,queue.empty()函数用于判断队列是否为空,queue.front()函数用于获取队首元素,queue.pop()函数用于弹出队首元素。在while循环中,每次取出队首元素进行处理,直到队列为空为止。
阅读全文