C++ Deque

C++ Deque: Định Nghĩa, Cú Pháp và Ví Dụ

Deque (viết tắt của Double-ended Queue) là một cấu trúc dữ liệu cho phép thêm và xóa phần tử ở cả hai đầu của nó. Đặc tính này làm cho deque trở thành một lựa chọn linh hoạt hơn so với queue (hàng đợi) thông thường, nơi bạn chỉ có thể thêm phần tử vào cuối và xóa phần tử từ đầu.

Trong C++, deque được định nghĩa trong thư viện ``, và nó có thể được sử dụng để lưu trữ và quản lý một danh sách phần tử hiệu quả. Deque không chỉ hỗ trợ các thao tác thêm và xóa ở cả hai đầu mà còn cung cấp khả năng truy cập ngẫu nhiên giống như vector.

Cú Pháp Cơ Bản của Deque

Cú pháp cơ bản để sử dụng deque trong C++ như sau:

#include <deque>

std::deque name;

Trong đó, `` là kiểu dữ liệu của các phần tử mà deque sẽ chứa và `name` là tên của deque.

Các Hàm Thao Tác Chính

  • push_front(value): Thêm một phần tử vào đầu deque.
  • push_back(value): Thêm một phần tử vào cuối deque.
  • pop_front(): Xóa phần tử ở đầu deque.
  • pop_back(): Xóa phần tử ở cuối deque.
  • front(): Trả về phần tử đầu tiên của deque.
  • back(): Trả về phần tử cuối cùng của deque.
  • size(): Trả về số lượng phần tử trong deque.
  • empty(): Kiểm tra deque có rỗng hay không.

Ví Dụ Về Sử Dụng Deque Trong C++

Dưới đây là một ví dụ đơn giản minh họa cách sử dụng deque trong C++:

#include <iostream>
#include <deque>

int main() {
    std::deque d;

    // Thêm phần tử vào đầu và cuối
    d.push_front(2);
    d.push_back(3);
    d.push_front(1);
    d.push_back(4);

    // Hiển thị các phần tử trong deque
    std::cout << "Các phần tử trong deque: ";
    for (int i : d) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // Xóa phần tử ở đầu
    d.pop_front();

    // Hiển thị lại các phần tử
    std::cout << "Sau khi xóa phần tử đầu: ";
    for (int i : d) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // Hiển thị phần tử đầu và cuối
    std::cout << "Phần tử đầu tiên: " << d.front() << std::endl;
    std::cout << "Phần tử cuối cùng: " << d.back() << std::endl;

    return 0;
}

Khi chạy chương trình trên, đầu ra sẽ là:

Các phần tử trong deque: 1 2 3 4 
Sau khi xóa phần tử đầu: 2 3 4 
Phần tử đầu tiên: 2 
Phần tử cuối cùng: 4 

Kết Luận

Deque là một cấu trúc dữ liệu mạnh mẽ và linh hoạt trong C++. Với khả năng thêm và xóa phần tử ở cả hai đầu, deque có thể được sử dụng để giải quyết nhiều bài toán khác nhau trong lập trình. Hy vọng rằng bài viết này đã cung cấp cho bạn những kiến thức cơ bản cần thiết để bắt đầu làm việc với deque trong C++.