queue là cấu trúc dữ liệu tuyến tính tuân theo nguyên tắc FIFO (First In First Out - Vào trước ra trước). Phần tử được thêm vào cuối (rear) và lấy ra từ đầu (front).
Các hàm chính
- q.size() – Số phần tử.
- q.push(val) – Thêm vào cuối.
- q.pop() – Lấy ra khỏi đầu (không trả về giá trị).
- q.front() – Truy cập phần tử đầu.
- q.back() – Truy cập phần tử cuối.
- q.empty() – Kiểm tra rỗng.
Ví dụ mã: Menu Queue
#include <iostream>
#include <queue>
#include <string>
#include <cstdlib>
using namespace std;
int main() {
queue<int> q;
int c, i;
while (true) {
cout << "1. Kích thước Queue\n";
cout << "2. Thêm phần tử\n";
cout << "3. Xóa phần tử đầu\n";
cout << "4. Phần tử đầu (front)\n";
cout << "5. Phần tử cuối (back)\n";
cout << "6. Thoát\n";
cout << "Nhập lựa chọn: ";
cin >> c;
switch (c) {
case 1:
cout << "Kích thước Queue: " << q.size() << endl;
break;
case 2:
cout << "Nhập giá trị: ";
cin >> i;
q.push(i);
break;
case 3:
if (!q.empty()) {
i = q.front();
q.pop();
cout << "Đã xóa: " << i << endl;
} else cout << "Queue rỗng!\n";
break;
case 4:
if (!q.empty()) cout << "Front: " << q.front() << endl;
else cout << "Queue rỗng!\n";
break;
case 5:
if (!q.empty()) cout << "Back: " << q.back() << endl;
else cout << "Queue rỗng!\n";
break;
case 6:
return 0;
default:
cout << "Lựa chọn không hợp lệ\n";
}
}
return 0;
}
Kết quả mẫu
1. Kích thước Queue 2. Thêm phần tử 3. Xóa phần tử đầu 4. Phần tử đầu (front) 5. Phần tử cuối (back) 6. Thoát Nhập lựa chọn: 1 Kích thước Queue: 0 ... Nhập lựa chọn: 3 Đã xóa: 1 ... Nhập lựa chọn: 4 Front: 2 Nhập lựa chọn: 5 Back: 6 Nhập lựa chọn: 6