Konsep Queue dalam Struktur Data Serta Contoh Program

QUEUE (STRUKTUR DATA)

Queue juga tipe abstrak data atau struktur data linear, dimana elemen pertama disisipkan dari satu ujung disebut BELAKANG (juga disebut ekor), dan penghapusan exisiting elemen berlangsung dari ujung disebut sebagai FRONT (juga disebut kepala ). Hal ini membuat antrian sebagai struktur data FIFO, yang berarti bahwa elemen dimasukkan pertama juga akan dihapus pertama. Proses untuk menambahkan elemen ke dalam antrian disebut Enqueue dan proses penghapusan elemen dari antrian disebut Dequeue. Queue ini tentunya berbeda dengan Stack. Dimana stack atau tumpukan ini juga tidak jauh beda dengan queue.
Introduction to Queue


Fitur dasar Queue

Seperti Stack, Queue juga daftar memerintahkan elemen tipe data yang sama.Antrian FIFO (First Out Pertama) struktur. Setelah elemen baru dimasukkan ke dalam Antrian, semua elemen dimasukkan sebelum elemen baru dalam antrian harus dihilangkan, untuk menghilangkan unsur baru. Mengintip () fungsi sering digunakan untuk mengembalikan nilai elemen pertama tanpa dequeuing itu.

Aplikasi Queue

seperti namanya digunakan setiap kali kita perlu memiliki kelompok objek dalam urutan yang pertama datang, juga keluar pertama sementara yang lain menunggu di sana berubah, seperti dalam skenario berikut:
Melayani permintaan pada sumber daya bersama tunggal, seperti printer, penjadwalan tugas CPU dllDalam kehidupan nyata, sistem telepon Call Center akan menggunakan Antrian, untuk menahan orang-orang menyebut mereka dalam urutan, sampai perwakilan layanan gratis.Penanganan interupsi dalam sistem real-time. Interupsi ditangani dalam urutan yang sama saat mereka tiba, Pertama datang pertama dilayani.

Implementasi Queue

Antrian dapat diimplementasikan dengan menggunakan Array, Stack atau Daftar Linked. Cara termudah untuk mengimplementasikan antrian adalah dengan menggunakan Array. Awalnya kepala (FRONT) dan ekor (REAR) dari titik-titik antrian di indeks pertama dari array (mulai indeks array dari 0). Seperti kita menambahkan elemen ke antrian, ekor terus bergerak maju, selalu menunjuk ke posisi di mana elemen berikutnya akan dimasukkan, sementara kepala tetap pada indeks pertama.pelaksanaan antrian  
implementation of queue
Fitur Antrian
Ketika kita menghapus elemen dari antrian, kita bisa mengikuti dua pendekatan yang mungkin (disebutkan [A] dan [B] dalam diagram di atas). Dalam [A] pendekatan, kita menghapus elemen di posisi kepala, dan kemudian satu per satu gerakan semua elemen lain di posisi depan. Dalam pendekatan [B] kita menghapus elemen dari posisi kepala dan kemudian menggerakkan kepala ke posisi berikutnya.
Dalam pendekatan [A] ada overhead menggeser elemen satu posisi ke depan setiap kali kita menghapus elemen pertama. Dalam pendekatan [B] tidak ada biaya overhead seperti itu, tapi whener kita menggerakkan kepala satu posisi ke depan, setelah penghapusan elemen pertama, ukuran pada Antrian berkurang satu ruang setiap kali.
(Baca juga : Pengertian URL, serta fungsi dan cara kerjanya)

Contoh Program Queue

/* Below program is wtitten in C++ language */

#define SIZE 100
class Queue
{
  int a[100];
  int rear;     //same as tail
  int front;    //same as head
 
  public:
  Queue()
  {
    rear = front = -1;
  }
  void enqueue(int x);     //declaring enqueue, dequeue and display functions
  int dequeue();
  void display();
}

void Queue :: enqueue(int x)
{
  if( rear = SIZE-1)
  {
    cout << "Queue is full";
  }
  else
  {
    a[++rear] = x;
  }
}

int queue :: dequeue()
{
  return a[++front];     //following approach [B], explained above
}

void queue :: display()
{
  int i;
  for( i = front; i <= rear; i++)
  {
    cout << a[i];
  }
}

Untuk menerapkan pendekatan [A], Anda hanya perlu mengubah metode dequeue, dan termasuk untuk loop yang akan menggeser semua elemen yang tersisa satu posisi.
(Baca juga : Contoh program record pada pascal)

return a[0];      //returning first element
for (i = 0; i < tail-1; i++)      //shifting all other elements
{
  a[i]= a[i+1];
  tail--;
}

Itulah ulasan hari ini tentang Konsep Queue dalam Struktur Data Serta Contoh Program. Harapan saya bermanfaat untuk semuanya, jika ada yang kurang saya mohon maaf. Sekian dan terimakasih !

Subscribe to receive free email updates: