std::queue的用法
时间: 2023-07-08 12:29:14 浏览: 169
C++ STL大全
`std::queue` 是 C++ STL 中的一个容器,它是一个先进先出(FIFO)的队列,支持在队尾插入元素,在队头删除元素,并且可以访问队头和队尾元素。`std::queue` 的实现基于其他 STL 容器,如 `std::deque` 或 `std::list`。
以下是 `std::queue` 的常用方法和用法:
### 头文件
使用 `std::queue` 前需要包含 `<queue>` 头文件。
```c++
#include <queue>
```
### 定义队列
定义一个 `std::queue` 对象需要指定元素类型。例如,定义一个整型队列:
```c++
std::queue<int> myQueue;
```
### 插入元素
在队列尾部插入元素,使用 `push()` 方法:
```c++
myQueue.push(1);
myQueue.push(2);
myQueue.push(3);
```
### 访问队头和队尾元素
访问队头元素,使用 `front()` 方法:
```c++
std::cout << "队头元素为:" << myQueue.front() << std::endl;
```
访问队尾元素,使用 `back()` 方法:
```c++
std::cout << "队尾元素为:" << myQueue.back() << std::endl;
```
### 删除元素
删除队头元素,使用 `pop()` 方法:
```c++
myQueue.pop();
```
### 判断队列是否为空
使用 `empty()` 方法判断队列是否为空:
```c++
if (myQueue.empty()) {
std::cout << "队列为空" << std::endl;
}
```
完整示例代码如下:
```c++
#include <iostream>
#include <queue>
int main() {
// 定义整型队列
std::queue<int> myQueue;
// 插入元素
myQueue.push(1);
myQueue.push(2);
myQueue.push(3);
// 访问队头和队尾元素
std::cout << "队头元素为:" << myQueue.front() << std::endl;
std::cout << "队尾元素为:" << myQueue.back() << std::endl;
// 删除队头元素
myQueue.pop();
// 判断队列是否为空
if (myQueue.empty()) {
std::cout << "队列为空" << std::endl;
}
return 0;
}
```
运行结果为:
```
队头元素为:1
队尾元素为:3
```
阅读全文