📅  最后修改于: 2023-12-03 15:13:56.673000             🧑  作者: Mango
在C++ 标准库中,queue是一个容器适配器,它是从STL库继承而来的。queue(队列)是一个先进先出(FIFO)的数据结构,使用queue可以轻松地实现一些需要按顺序处理元素的场景。C++ STL库为queue中提供了许多方便实用的操作,其中之一就是swap()。
C++ STL中的queue::swap()函数用于交换两个队列的元素。函数原型如下所示:
void queue::swap(queue& otherQueue);
其中,otherQueue
是要与当前队列进行交换的另一个队列,交换操作会将两个队列之间的元素互换。注意,queue::swap()
函数只会交换两个队列的元素,而不会改变它们的大小或容量。
下面是一个使用queue::swap()函数的简单示例:
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q1;
queue<int> q2;
q1.push(1);
q1.push(2);
q1.push(3);
q2.push(4);
q2.push(5);
q2.push(6);
// 交换q1和q2的元素
q1.swap(q2);
cout << "q1中的元素:";
while (!q1.empty()) {
cout << q1.front() << " ";
q1.pop();
}
cout << endl << "q2中的元素:";
while (!q2.empty()) {
cout << q2.front() << " ";
q2.pop();
}
return 0;
}
程序输出如下:
q1中的元素:4 5 6
q2中的元素:1 2 3
从输出可以看出,q1和q2中的元素发生了交换,并且它们的顺序也随之改变了。
在交换两个队列时,通常会出现以下注意事项:
queue::swap()
函数并不会改变队列的大小或容量,只是交换它们之间的元素。std::swap()
函数来交换两个队列。queue::swap()函数是C++ STL库中的一个非常有用的操作,它可以轻松地实现两个队列之间的元素交换。熟练掌握该函数的使用方法,可以提高程序的效率和代码的重用性。