Queue dan Implementasinya

 Queue


Queue adalah struktur data linear yang bekerja dengan prinsip FIFO — First In, First Out

Contoh Penggunaan
  1. Antrian Kantin
  2. Antrian Nasabah Bank
  3. Antrian Masuk Lapangan ketika Sewa 
Operasi Queue
  • enqueue() => tambah data dari belakang
  • dequeue() => tambah data dari depan
Algoritma

ALGORITHM Enqueue(Q, item) BEGIN IF rear = MAX - 1 THEN OUTPUT "Queue Overflow" RETURN ENDIF IF front = -1 THEN front ← 0 rear ← 0 ELSE rear ← rear + 1 ENDIF Q[rear] ← item END

#include <iostream> using namespace std; #define MAX 5 class Queue { private: int arr[MAX]; int front, rear; public: Queue() { front = -1; rear = -1; } bool isEmpty() { return (front == -1); } bool isFull() { return (rear == MAX - 1); } void enqueue(int x) { if (isFull()) { cout << "Queue Overflow\n"; return; } if (isEmpty()) { front = 0; } arr[++rear] = x; cout << "Elemen " << x << " masuk ke queue\n"; } void dequeue() { if (isEmpty()) { cout << "Queue Underflow\n"; return; } cout << "Elemen " << arr[front] << " keluar dari queue\n"; if (front == rear) { front = rear = -1; } else { front++; } } void display() { if (isEmpty()) { cout << "Queue kosong\n"; return; } cout << "Isi Queue: "; for (int i = front; i <= rear; i++) { cout << arr[i] << " "; } cout << endl; } }; int main() { Queue q; q.enqueue(10); q.enqueue(20); q.enqueue(30); q.display(); q.dequeue(); q.display(); return 0;


Comments

Popular posts from this blog

ETS Genap - Rinaltra Nabasa Simanungkalit

Tugas Pertemuan 6