#include "stdio.h"
void main()
{ int queue[5];
int depan = -1;
int belakang = -1;
int pilihan, data, i;
do{
printf("MENU\n");
printf("1. ENQUEUE\n2. DEQUEUE\n3. VIEW\n4. EXIT\n");
printf("Pilihan = "); scanf("%d", &pilihan);
switch (pilihan)
{
case 1: //enqueue
//apakah queue belum penuh?
if (belakang < 4 )
{ printf("Data Masuk = "); scanf("%d", &data);
queue[belakang+1] = data;
belakang++;
if (belakang == 0)
depan = 0;
}
else
printf("Queue penuh!\n");
break;
case 2: //dequeue
//apakah queue belum kosong?
if (depan <= belakang)
{ printf("Data keluar = %d\n", queue[depan]);
depan++;
}
else
printf("Queue kosong!\n");
break;
case 3:
for(i=depan; i<=belakang; i++)
printf("%d ", queue[i]);
printf("\n");
break;
}
}while (pilihan != 4);
}
Artikel terkait:
Queue dengan Liked List
Queue Array Java
Queue Linked List Java
Queue Library Java
pak materi Queue ni buat materi Sd TF-sore besok rabu ta?????
ReplyDeletemas, berikut koreksi saya:
ReplyDelete1. front di queue selalu terdepan, index ke-0, maka ga ada front++
2. ketika dequeue, seharusnya yg diambil data terdepan (sudah bener) tapi abis itu antrian bergeser kedepan satu per satu, akibatnya rearnya yg diencrement bukan front-nya yg di increment
akibatnya ketika program ini dijalankan setelah mencapai index terakhir, ga bisa enqueue lagi meskipun udah di dequeue karena frontnya indexnya tetap
selengkapnya ada di blog saya.
thanks!!
terima kasih,
ReplyDeletethanks, atas tutornya
ReplyDeleteTks mas, tutorialnya,
ReplyDeletepertanyaan sy:
bagaimana nysipkan program untuk
>mengecek cek antrian penuh ?
>menghapus seluruh antrian
>mengosongkan semua antrian
thanks.
- cek antrian penuh: jika count == (size - 1)
ReplyDelete- menghapus seluruh antrian: looping, set semua eleman array dgn nilai 0
- mengosongkan semua antrian: sptnya sama dgn yg di atas :)