hanya bisa dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear),
dan penghapusan atau pengambilan elemen dilakukan lewat ujung yang lain
(disebut dengan sisi depan atau front)
Queue pada Struktur Data atau antrian adalah sekumpulan data yang mana
penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan
sisibelakang(rear), dan penghapusan(pengambilan elemen) dilakukan lewat
ujung lain (disebut dengan sisi depan atau front) Queue atau antrian prinsip
yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First In
First Out). Queue atau antrian banyak kita jumpai dalam kehidupan seharihari,
ex: antrian Mobil diloket Tol, Antrian mahasiswa Mendaftar, dll. Contoh
lain dalam bidang komputer adalah pemakaian sistem komputer berbagi waktu(time-sharing
computer system) dimana ada sejumlah pemakai yang
akan menggunakan sistem tersebut secara serempak.
Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan
satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head
dan Tail ( depan/front, belakang/rear).
Karakteristik Queue atau antrian :
1. elemen antrian
2. front (elemen terdepan antrian)
3. tail (elemen terakhir)
4. jumlah elemen pada antrian
5. status antrian Operasi pada Queue atau antrian
// Program Queque
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct node
{
int data;
struct node *p;
};
void TambahElemen (struct node **d, struct
node **b, int nilai)
{ struct node *temp;
temp = (struct node*) malloc (sizeof
(struct node));
temp -> data = nilai;
temp -> p = NULL;
if (*d == NULL)
{
*d = temp;
}
else
{
(*b) -> p = temp;
}
*b = temp;
}
}
void pop()
{
if (stack.i > 0)
{
cout << "data yang terambil : " << stack.data[stack.i] << endl;
stack.i--; stack.j--;
}
else
cout << "tak ada data yang terambil" << endl;
}
void view (int n) //print untuk menampilkan data
{
if (stack.j > 0) //menampilkan isi data menggunakan perulangan for
{
for (int e = n; e >= 1; e--)
{
cout << stack.data[e] << endl;
}
}
else
cout << "tak ada data tersimpan" << endl; //jika tidak ada data
}
else
{
cout << "tumpukan penuh" << endl;
getch();
}
goto balik;
}
else
if (pilih == 2)
{
pop (); getch(); goto balik;
}
else
if (pilih == 3)
{
view (stack.i); getch(); goto balik;
}
else
if (pilih == 4)
{
clear(); getch(); goto balik;
}
else
if (pilih == 5)
{