A. Pengertian
Queue adalah kumpulan data dengan penambahan atau pengambilan data melalui sisi yang berbeda. Dengan penambahan data melaui belakang (back/tail) dan penghapusan data melalui depan (front/head). Pada queue data yang masuk pertama akan keluar pertama, dan yang masuk terakhir akan keluar terakhir. Sehingga, queue disebut juga FIFO (First In First Out / Pertama Masuk Pertama keluar). Ilustrasinya sebagai berikut :
B. Fungsi pada Queue
1. Store (Menyimpan)
Langkah - langkah penyimpanan :
- Mengecek batas
- Memasukkan data ke index spos(store position)
Source kode :
void qstore(tipe_data nama_variabel){
if(spos == MAX){
printf("Antrian Penuh !!\n");
}
else{
queue[spos++] = nama_variabel;
}
}
Langkah - langkah pengambilan :
- Mengecek data apakah kosong atau tidak
- Mengembalikan nilai data dari index rpos(retrieve position)
Source kode :
tipe_data qretrieve(void){
if(rpos == spos){
printf("Antrian kosong !!\n");
return 0;
}
else{
return queue[rpos++];
}
}
C. Circular Queue
Circular queue adalah penggunaan kembali posisi queue yang sudah kosong. Ilustrasinya sebagai berikut:
Circular queue adalah penggunaan kembali posisi queue yang sudah kosong. Ilustrasinya sebagai berikut:
Hasilnya adalah sebagai berikut :
Untuk koding keseluruhannya klik link download di bawah ini :
sip
BalasHapusAye sir... =p~ =p~ =p~ =p~
Hapus