ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน stack::swap()ใน C++ STL
สแต็คใน C++ STL คืออะไร
สแต็คคือโครงสร้างข้อมูลที่จัดเก็บข้อมูลใน LIFO (เข้าก่อนออกก่อน) ที่ wedo แทรกและลบจากด้านบนหรือองค์ประกอบสุดท้ายแทรก เช่นเดียวกับกองเพลต หากเราต้องการดันเพลทใหม่เข้าไปในกอง เราก็ใส่ที่ด้านบน และถ้าเราต้องการเอาเพลทออกจากกอง เราก็เอาออกจากด้านบนด้วย
stack::swap() คืออะไร
ฟังก์ชัน stack::swap() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ไวยากรณ์
stack_name.swap(stack& stack2);
พารามิเตอร์
ฟังก์ชันยอมรับพารามิเตอร์ต่อไปนี้ −
-
stack2:stack container อื่นที่เราต้องการสลับเนื้อหา
คืนค่า
ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด
ป้อนข้อมูล
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