📅  最后修改于: 2023-12-03 15:29:50.963000             🧑  作者: Mango
在C++ STL中,stack是一个常用的容器,常用于实现后进先出(LIFO)的数据结构。stack函数有一个swap()方法,可以用来交换两个stack中的内容。
void swap(stack& other);
其中,other代表另一个stack容器,函数作用是将当前stack和other进行交换。
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> s1, s2;
s1.push(1);
s1.push(2);
s1.push(3);
s2.push(4);
s2.push(5);
s2.push(6);
// 交换两个stack中的内容
s1.swap(s2);
cout << "stack s1: ";
while (!s1.empty()) {
cout << s1.top() << " ";
s1.pop();
}
cout << endl;
cout << "stack s2: ";
while (!s2.empty()) {
cout << s2.top() << " ";
s2.pop();
}
cout << endl;
return 0;
}
输出结果为:
stack s1: 6 5 4
stack s2: 3 2 1
可以看到,调用swap()函数后,s1和s2中的内容互相交换了。
通过调用C++ STL中的stack的swap()函数,可以方便地交换两个stack的内容,从而实现代码简洁优雅的操作。