Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

queue::swap() ใน C++ STL


ในบทความนี้เราจะอธิบายการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน queue::swap() ใน C++ Standard Template Library (STL)

Queue ใน C++ STL คืออะไร?

Queue เป็นโครงสร้างข้อมูลหรือลำดับข้อมูลพื้นฐานใน C++ STL ที่จัดการข้อมูลแบบ FIFO (First In First Out) ข้อมูลใน queue จะถูกจัดเก็บอย่างต่อเนื่อง องค์ประกอบจะถูกแทรกที่ปลาย (rear/back) และนำออกจากหน้า (front) C++ STL มี template ของ queue ให้ใช้งานสำเร็จรูปแล้ว

queue::swap() คืออะไร?

queue::swap() เป็นฟังก์ชันในตัวของ C++ STL ที่ประกาศใน header file <queue> ฟังก์ชันนี้ใช้สำหรับ สลับเนื้อหา ระหว่างสอง queue container ฟังก์ชันรับพารามิเตอร์หนึ่งคือ queue อีกอันที่ต้องการสลับเนื้อหา

ไวยากรณ์ (Syntax)

myqueue1.swap(myqueue2);

พารามิเตอร์ (Parameters)

รับพารามิเตอร์หนึ่งคือ queue container อีกอันที่ต้องการสลับเนื้อหา

ค่าที่ส่งคืน (Return Value)

ฟังก์ชันนี้ไม่ส่งคืนค่าใดๆ (void)

ตัวอย่างการใช้งาน

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);
    }
    
    // เรียกใช้ 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();
    }
}

ผลลัพธ์ (Output)

Element in Queue_1 are: 5 6 7 8 9 10
Element in Queue_2 are: 0 1 2 3 4 5