C++ STL 中的 stack swap()
在本文中,我们将讨论 C++ STL 中 stack::swap() 函数的工作原理、语法和示例。
什么是 C++ STL 中的栈?
栈是一种数据结构,将数据存储在 LIFO(后进先出)中,其中的插入和删除操作从顶部或最后插入的元素开始。就像一叠盘子,如果我们想将一个新盘子推入栈中,那么我们从顶部插入;如果我们想从栈中移除一个盘子,那么我们也要从顶部移除。
什么是 stack::swap()?
stack::swap() 函数是 C++ STL 中的一个内置函数,它在 <stack> 头文件中定义。swap() 用于交换两个关联栈的内容。此函数交换容器的内容
语法
stack_name.swap(stack& stack2);
参数
此函数接受以下参数(s)−
stack2:我们希望与其交换内容的另一个 stack 容器。
返回值
此函数不返回任何内容
输入
std::stack<int>odd; odd.emplace(1); odd.emplace(3); odd.emplace(5); std::stack<int&g; eve; eve.emplace(2); eve.emplace(4); eve.emplace(6); odd.swap(eve);
输出
odd: 2 4 6 eve: 1 3 5
示例
#include <iostream> #include <stack> using namespace std; int main(){ stack<int> stck_1, stck_2; //inserting elements to stack 1 stck_1.push(1); stck_1.push(2); stck_1.push(3); stck_1.push(4); //inserting elements to stack 2 stck_2.push(5); stck_2.push(6); stck_2.push(7); stck_2.push(8); //swapping elements of stack 1 in stack 2 and vice-versa stck_1.swap(stck_2); cout<<"Elements in stack 1 are: "; while (!stck_1.empty()){ cout<<stck_1.top()<<" "; stck_1.pop(); } cout<<"\nElements in stack 2 are: "; while (!stck_2.empty()){ cout<<stck_2.top()<<" "; stck_2.pop(); } return 0; }
输出
如果我们运行以上代码,它将生成以下输出 −
Elements in stack 1 are: 8 7 6 5 Elements in stack 2 are: 4 3 2 1
广告