Queue atau Antrian pada Struktur Data C/C++

Queue atau Antrian C/C++
Queue atau Antrian pada Struktur Data C/C++
Jika diartikan secara harafiah, queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalamkehiduypan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam
suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai berikut :
  • EnQueue Memasukkan data ke dalam antrian
  • DeQueue Mengeluarkan data terdepan dari antrian
  • Clear Menghapus seluruh antrian
  • IsEmpty Memeriksa apakah antrian kosong
  • IsFull Memeriksa apakah antrian penuh
Implementasi Queue dengan Linear Array
Linear Array
Linear array adalah suatu array yang dibuat seakan-akan merupakan suatu garis lurus dengan satu pintu masuk dan satu pintu keluar. Berikut ini diberikan deklarasi kelas Queue Linear sebagai implementasi dari Queue menggunakan linear array. Dalam prakteknya, anda dapat menggantinya sesuai dengan kebutuhan Anda. Data diakses dengan field data, sedangkan indeks item pertama dan terakhir disimpan dalam field Head dan Tail. Konstruktor akan menginisialisasikan nilai Head dan Tail dengan -1 untuk menunjukkan bahwa antrian masih kosong dan mengalokasikan data sebanyak MAX_QUEUE yang ditunjuk oleh Data. Destruktor akan mengosongkan antrian kembali dan mendealokasikan memori yang digunakan oleh antrian.
Untuk Latihan Soal Queue (Antrian) pada Bahasa C++ seperti berikut  :
1. Sebutkan cirri-ciri bahwa Queue :
a. Kosong tak ada isinya
b. Penuh tak bisa diisi
c. Bisa diisi
d. Ada isinya
e. Antrian tak bisa diisi lagi, tapi belum ada isi antrian yang sudah keluar atau sudah dilayani

2. Tulis algoritma dasar untuk :
a. Inisialisasi
b. Insert sebuah record
c. Delete sebuah record
d. Reset

3. Tulis algoritma lengkap untuk :
a. Insert sebuah record
b. delete sebuah record

4. Tulis algoritma yang lengkap untuk mengisi antrian record per record sampai antrian penuh tak bisa diisi lagi

5. Tulis algoritma yang lengkap untuk mendelete isi antrian record per record sampai antrian kosong

Oke saya kasih jawaban Singkatnya kaya gini sob:
Jawaban Soal Queue (Antrian) pada Bahasa C++ 

1. a. kosong, ciri : counter=0
b. penuh, ciri: counter = n
c. bisa di isi, ciri: counter < n d. ada isinya,ciri: counter > 0
e. ...

2. a. void AWAL(void)
{
F = 0;
R = -1;
Counter = 0;
}

b. void INSERT(void)
{
R = (R+1) % n;
Q[R] = X;
Counter++;
}

c. void DELETE(void)
{
X = Q[F];
F =(F+1) % n;
Counter--;
}

d. RESET(void)
{
F = 0;
R = -1;
}

3. a. void INSERT(void)
{
if ( Counter < n) { R = (R+1) % n; Q[R] = X; Counter++; } else printf(“Antrian Penuh”); } b. void DELETE(void) { if ( Counter > 0)
{ X = Q[F];
F = (F+1) % n;
Counter--;
}
else printf(“Antrian Kosong”);
}

4 void INSERT(void)
{ if ( Counter == n)
printf(“Antrian Penuh”)
else { R = (R+1) % n;
Q[R] = X;
Counter++; }
}


5. void DELETE(void)
{ if ( Counter == 0)
printf(“Antrian Kosong”)
else { X = Q[F];
F = (F+1) % n;
Counter--; }
}

Sekian deh sobat postingan kali ini semoga bermanfaat buat anda yang kebetulan membutuhkan. Thnks atas perhatianya . see you ..