-à Kumpulan data dimana data masuk dan keluar pada ujung yang berbeda.
-à Konsep utama FIFO ( Fisrt In First Out ).
Algoritma:
- Input/tambah data
- Jika ada input maka no antrian yang semula 0 akan tambah 1 demi 1 sampai maksimal antrian.
- Hapus/Pengambilan data
· Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp, antrian ke-dua akan maju ke antrian pertama dan seterusnya. Dan jumlah antrian yang semula maksimal akan berkurang 1 demi 1 sampai antrian 0 kembali.
- Deklarasi Queue
Type
Const
Max = 5;
Nama record = Record
Data : type data;
Top : byte;
End;
Nama_array = ARRAY [1..max] of Nama record;
Var
Antri : nama Array;
4. Operasi pada queue
· CREATE
Membuat antrian baru yang masih kosong.
Procedure create;
Begin
antri.top:=0;
End;
· FULL
Untuk memeriksa apakah antrian sudah penih..
Fuction full:bolean;
Begin
antri.top:=max;
End;
· PUSH
Menambah sebuah elemen ( data ) kedalam antrian.
Syarat: tidak bisa dilakukan jika antrian sudah penuh.
Procedure push ( input:string );
Begin
If not full then
Begin
antri.top:=antri.top;
antri.data:=input;
End;
End;
· EMPTY
Fuction empty: bolean;
Begin
Empty:=false;
If top:=0 then empty:=true;
End;
· POP
Mengambil 1 elemen dari sebuah antrian.
Syarat: antrian tidak boleh kosong.
Procedure Pop ( elemen:string );
Begin
If not empty then
Begin
Elemen:=antri.data;
antri.top:=top – 1;
End;
End;
Tidak ada komentar:
Posting Komentar