Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การดำเนินการบน Queue ในโครงสร้างข้อมูล


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