ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน queue::swap() ใน C++ STL
คิวใน C++ STL คืออะไร
คิวคือลำดับอย่างง่ายหรือโครงสร้างข้อมูลที่กำหนดไว้ใน C++ STL ซึ่งทำการแทรกและลบข้อมูลในรูปแบบ FIFO (เข้าก่อนออกก่อน) ข้อมูลในคิวจะถูกจัดเก็บในลักษณะต่อเนื่อง องค์ประกอบจะถูกแทรกที่ส่วนท้ายและลบออกจากจุดเริ่มต้นของคิว ใน C++ STL มีเทมเพลตคิวที่กำหนดไว้ล่วงหน้า ซึ่งแทรกและลบข้อมูลในลักษณะที่คล้ายกันของคิว
que::swap() คืออะไร
Queue::swap() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว
ไวยากรณ์
myqueue1.swap(myqueue2);
ฟังก์ชันนี้ยอมรับพารามิเตอร์หนึ่งตัวสำหรับคอนเทนเนอร์คิวที่สองซึ่งเราต้องการสลับคิวที่เกี่ยวข้อง
คืนค่า
ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด
ตัวอย่าง
Input: queue<int> odd = {1, 3, 5};
queue<int> eve = {2. 4. 6};
Output:
Odd: 2 4 6
Eve: 1 3 5 ตัวอย่าง
#include <iostream>
#include <queue>
using namespace std;
int main(){
queue<int> Queue_1, Queue_2;
for(int i=0 ;i<=5 ;i++){
Queue_1.push(i);
}
for(int i=5 ;i<=10 ;i++){
Queue_2.push(i);
}
//call swap function
Queue_1.swap(Queue_2);
cout<<"Element in Queue_1 are: ";
while (!Queue_1.empty()){
cout << ' ' << Queue_1.front();
Queue_1.pop();
}
cout<<"\nElement in Queue_2 are: ";
while (!Queue_2.empty()){
cout << ' ' << Queue_2.front();
Queue_2.pop();
}
} ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Element in Queue_1 are: 5 6 7 8 9 10 Element in Queue_1 are: 0 1 2 3 4 5