Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

queue::swap() trong C++ STL


Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm queue::swap() trong C++ STL.

Queue trong C++ STL là gì?

Queue là một trình tự hoặc cấu trúc dữ liệu đơn giản được định nghĩa trong C++ STL thực hiện chèn và xóa dữ liệu theo kiểu FIFO (First In First Out). Dữ liệu trong queue được lưu trữ theo cách liên tục. Phần tử được chèn ở cuối và xóa từ đầu queue. Trong C++ STL đã có template queue định nghĩa sẵn, chèn và xóa dữ liệu theo cách thức tương tự queue.

queue::swap() là gì?

queue::swap() là hàm built-in trong C++ STL được khai báo trong header <queue>. Hàm này dùng để hoán đổi nội dung của hai queue container. Hàm nhận một tham số là queue container khác mà chúng ta muốn hoán đổi nội dung với queue hiện tại.

Cú pháp

myqueue1.swap(myqueue2);

Hàm nhận một tham số là queue container thứ hai để hoán đổi.

Giá trị trả về

Hàm này không trả về giá trị.

Ví dụ

Input: queue<int> odd = {1, 3, 5}; queue<int> eve = {2, 4, 6}; Output: Odd: 2 4 6; Eve: 1 3 5

Ví dụ hoàn chỉnh

#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);
    }
    // gọi hàm swap
    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();
    }
}

Kết quả

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