Queue: FIFO (First In First Out)
ใช้ใน Graph Traversal (BFS) เป็นต้น ADT ซ่อนรายละเอียดการทำงานภายใน
Queue ADT Operations
- isFull() – ตรวจสอบ Queue เต็ม
- isEmpty() – ตรวจสอบ Queue ว่าง
- enqueue(x) – ใส่ x ที่ท้าย Queue
- dequeue() – ลบจากหน้า Queue (Front)
- front() – ดูค่าหน้า Queue
- size() – จำนวนองค์ประกอบ
ตัวอย่าง C++ (STL Queue)
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> que;
if (que.empty()) cout << "Queue is empty" << endl;
else cout << "Queue is not empty" << endl;
// Insert
que.push(10); que.push(20); que.push(30); que.push(40); que.push(50);
cout << "Size of the queue: " << que.size() << endl;
// Delete and display
while (!que.empty()) {
int item = que.front();
que.pop();
cout << item << " ";
}
}
Output
Queue is empty Size of the queue: 5 10 20 30 40 50