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

deque::at() và deque::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 các hàm deque::at() và deque::swap() trong C++ STL.

Deque là gì?

Deque (Double Ended Queue) là container trình tự cung cấp chức năng mở rộng và co hẹp ở cả hai đầu. Queue thông thường chỉ cho phép chèn ở cuối và xóa ở đầu, còn Deque cho phép chèn và xóa ở cả hai đầu.

deque::at() là gì?

deque::at() là hàm built-in trong C++ STL được khai báo trong header <deque>. Hàm trả về tham chiếu dùng để trỏ đến phần tử tại vị trí chỉ định trong deque. Hàm truy cập đến phần tử tại vị trí truyền làm tham số. Vị trí bắt đầu từ 0.

Cú pháp

mydeque.at(int position);

Tham số

Hàm nhận một tham số là vị trí cần trỏ đến.

Giá trị trả về

Trả về tham chiếu đến phần tử tại vị trí chỉ định của deque container.

Ví dụ

Input: deque<int> mydeque = {10, 20, 30, 40}; mydeque.at(2); Output: Element at 2 positions is 30.

Ví dụ hoàn chỉnh

#include <deque>
#include <iostream>
using namespace std;
int main() {
    deque<int> myDeque;
    myDeque.push_back(90);
    myDeque.push_back(80);
    myDeque.push_back(70);
    myDeque.push_back(60);
    myDeque.push_back(50);
    myDeque.push_back(40);
    myDeque.push_back(30);
    myDeque.push_back(20);
    myDeque.push_back(10);
    for (int i = 0; i < myDeque.size(); ++i) {
        if (i % 2 == 0) {
            cout << myDeque.at(i);
            cout << " ";
        }
    }
    return 0;
}

Kết quả

90 70 50 30 10

deque::swap() là gì?

deque::swap() là hàm built-in trong C++ STL được khai báo trong header <deque>. Hàm dùng để hoán đổi nội dung của một deque container với deque khác. Hàm nhận một đối tượng deque container khác mà chúng ta muốn hoán đổi dữ liệu với deque liên kết.

Cú pháp

mydeque1.swap(type_t& mydeque2);

Tham số

Hàm nhận một tham số là tham chiếu đến deque cần hoán đổi dữ liệu.

Giá trị trả về

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

Ví dụ

Input: deque<int> even = {2, 4, 6, 8}; deque<int> odd = {1, 3, 5, 7}; even.swap(odd); Output: Even deque: 1 3 5 7; Odd deque: 2 4 6 8

Ví dụ hoàn chỉnh

#include <deque>
#include <iostream>
using namespace std;
int main() {
    deque<int> Deque_1 = { 1, 2, 3, 4 };
    deque<int> Deque_2 = { 3, 5, 7, 9 };
    Deque_1.swap(Deque_2);
    cout << "Deque_1 elements after swapping : ";
    for (auto i = Deque_1.begin(); i != Deque_1.end(); ++i)
        cout << *i << " ";
    cout << endl << "Deque_2 elements after swapping : ";
    for (auto i = Deque_2.begin(); i != Deque_2.end(); ++i)
        cout << *i << " ";
    return 0;
}

Kết quả

Deque_1 elements after swapping : 3 5 7 9
Deque_2 elements after swapping : 1 2 3 4