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 `
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::dequename;
Trong đó, `
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::dequed; // 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++.