c++queue队列删掉最后一个数
时间: 2023-10-22 08:05:04 浏览: 523
要从C++的队列中删除最后一个元素,可以使用队列的pop()方法。但是,队列是一种FIFO(先进先出)的数据结构,因此无法直接删除最后一个元素。如果您必须删除最后一个元素,则需要将队列中的元素全部取出并保存,然后再将最后一个元素弹出队列。以下是一个示例代码:
```c++
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
q.push(1);
q.push(2);
q.push(3);
// 取出队列中的元素并保存
int size = q.size();
int arr[size];
for (int i = 0; i < size; i++) {
arr[i] = q.front();
q.pop();
}
// 弹出最后一个元素
q.pop();
// 将保存的元素重新放入队列
for (int i = 0; i < size - 1; i++) {
q.push(arr[i]);
}
// 输出队列中的元素
while (!q.empty()) {
cout << q.front() << " ";
q.pop();
}
return 0;
}
```
在上面的示例代码中,我们使用了一个数组来保存队列中的元素,并在弹出最后一个元素后重新将元素放回队列中。最终输出的结果为:1 2。
阅读全文