QUEUE (ANTRIAN)
Definisi
Queue
Queue berarti antrian, queue merupakan salah satu contoh aplikasi
dari pembuatan double linked list yang cukup sering kita temui dalam kehidupan
sehari-hari,
Kelemahan
1) Pemborosan tempat (memori) ketika menggunakan
jumlah data yang lebih sedikit dari alokasi memori
2) Tidak dapat menambahkan data melebihi maksimal
ukuran array yang telah dideklarasikan
3) Waktu yang tidak efisiensi
Contoh Queue
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 :
1) PUSH X (yaitu menambahkan data X ke dalam
antrian)
2) POP (yaitu mengambil elemen paling depan dari
antrian)
3) EMTPY (yaitu mengosongkan antrian)
Contoh Program Queue
#include "stdio.h"
#include "conio.h"
int main()
{
int cek=0, data[20], x,
hapus;
char pil;
do {
printf("1. Tambah
Antrian\n");
printf("2. Hapus
Antrian\n");
printf("3. Lihat
Antrian\n");
printf("4.
Keluar\n");
printf("Silahkan
masukkan pilihan anda... ");
pil=getche();
if(pil!='1' && pil
!='2' && pil !='3' && pil!='4' )
printf("\n\nAnda
salah mengetikkan inputan...\n");
else
{
if(pil=='1') //PUSH
{
if(cek==20)
printf("\nAntrian Penuh\n\n");
else
{
printf("\nMasukkan nilai-->");scanf("%i",&x);
data[cek]=x;
cek++;
}}
else
{
if(pil=='2') //POP
{
if(cek==0)
printf("\nAntrian kosong\n\n");
else
{
hapus=data[0];
for(int
v=0;v<cek;v++)
data[v]=data[v+1];
data[cek-1]=NULL;
cek--;
printf("\nData dgn nilai=%i terhapus.",hapus);
}
getch();
}
else
{
if(pil=='3') //CEK DATA
{
if(cek==0)
printf("\nAntrian Kosong.\n\n");
else
{
printf("\n");
for(int
z=0;z<cek;z++)
{
printf(" |
");
printf("%i",data[z]);
printf(" |
");
}
}
getch();
}
}
}
}
}while(pil!='4');
};
hasilnya :
Tidak ada komentar:
Posting Komentar