c++ 将一个std::queue里的内容拷贝到另一个不为空的std::queue中,最终使两个std::queue里的元素相同
时间: 2023-12-13 16:05:22 浏览: 14
你可以使用循环将一个std::queue的元素拷贝到另一个std::queue中。下面是一个示例代码:
```cpp
#include <iostream>
#include <queue>
int main() {
std::queue<int> sourceQueue;
std::queue<int> targetQueue;
// 添加一些元素到源队列中
sourceQueue.push(1);
sourceQueue.push(2);
sourceQueue.push(3);
// 将源队列的元素拷贝到目标队列中
while (!sourceQueue.empty()) {
int element = sourceQueue.front();
sourceQueue.pop();
targetQueue.push(element);
}
// 打印目标队列中的元素
while (!targetQueue.empty()) {
std::cout << targetQueue.front() << " ";
targetQueue.pop();
}
return 0;
}
```
这段代码首先创建了两个std::queue对象:sourceQueue和targetQueue。然后,通过使用push()函数向sourceQueue中添加一些元素(这里添加了1、2和3)。接下来,使用一个循环将sourceQueue的元素逐个拷贝到targetQueue中,直到sourceQueue为空。最后,使用另一个循环打印targetQueue中的元素,并在每次打印后将其从队列中移除。
运行这段代码将输出:1 2 3,表示两个队列最终包含相同的元素。