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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP