Queue dengan Bahasa C ( Compiler Microsoft Visual C++ 6 )
Salam Blogger, di postingan kali ini saya mau berbagi ilmu tentang Queue, berbeda dengan Stack yang memakai metode LIFO ( Last In First Out ) dengan indentifikasi elemen top, Queue menggunakan metode FIFO ( First In First Out ) dengan identifakasi data head atau kepal dan tail atau ekor.
Dalam kehidupan nyata Algoritma Queue bisa kita temui dalam sebuah antrian, entah itu antrian tiket, antrian belanja, dls. Queue mempunyai 2 perintah utama yaitu Enqueue ( untuk memasukkan data / menambah tail ) dan Dequeue ( Untuk mengambil data / mengurangi tail ),
void enqueue(int data)
{
if(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
printf("%d masuk !", antrian.data[antrian.tail]);
}
else if(IsFull()==0)
{
antrian.tail++;
antrian.data[antrian.tail]=data;
printf("%d masuk !", antrian.data[antrian.tail]);
}
else
printf("\nData Sudah Penuh");
}
Penjelasan :
Prosedur enquque / void enqueue berfungsi untuk memasukkan data kedalam antrian, sebelum masuk antrian akan di cek terlebih dahulu dengan perintah IsEmpty==1 menandakan antrian masih kosong dan data akan dimasukkan, tapi jika antrian tidak kosong, maka akan dilakukan IsFull==0 menandakan antrian belum penuh, dan data akan dimasukkan.
tapi jika data sudah penuh maka akan keluar kata : Data Sudah Penuh
int dequeue()
{
int i;
int e=antrian.data[antrian.head];
for(i=antrian.head; i<=antrian.tail; i++)
{
antrian.data[i]=antrian.data[i+1];
}
antrian.tail--;
return e;
}
Penjelasan :
Prosedur dequeue / void dequeue berfungsi untuk mengurangi data / antrian tail,
int e menampung data head yang akan diambil, dan menambah satu indeks terakhir (antrian.data[i]=antrian.data[i+1];) dengan menggunakan for i=antrian.head menunjuk pada data pertama dan i<=antrian.tail setelah itu akan dilakukan pengambilan data bergeser kebagian depan dengan perintah antrian.tail--.
Yang pengen Download Code nya klik di sini
Sekian posting kali ini, jika ada yang ingin bertanya atau ingin memberikan pembetulan silahkan mengisi form komentar di bawah. Terimakasih telah mampir.
artikelnya bermanfaat kak, ini sya jga punya artikel tentang Queue dalam Bahasa C, smoga dpt saling melengkapi
BalasHapusQueue (Antrian) dalam Bahasa C
Kumpulan Materi Bahasa C, Lengkap dengan contoh program