Sie sind auf Seite 1von 1

QUEUE

constant MaxElemen : integer = 255


type Queue : < Isi : array [1..MaxElemen] of character;
Depan : integer;
Belakang : integer >

procedure Inisialisasi (input/output Antrian : Queue)

Kamus lokal:

Algoritma:
Antrian.Depan  0
Antrian.Belakang  0

procedure AddQ (input/output Antrian:Queue, input elemen:character)

Kamus lokal:

Algoritma:
if Antrian.Belakang = MaxElemen then {Antrian penuh}
output (‘Antrian sudah penuh!’)
else {Antrian belum penuh}
if Antrian.Depan = 0 then {Antrian kosong}
Antrian.Depan  Antrian.Depan + 1
Antrian.Belakang  Antrian.Depan
Antrian.Isi[Antrian.Depan]  elemen
else {Antrian sudah berisi}
Antrian.Belakang  Antrian.Belakang + 1
Antrian.Isi[Antrian.Belakang]  elemen

procedure DeleteQ (input/output Antrian:Queue, output elemen:character)

Kamus lokal:

Algoritma:
if Antrian.Depan = 0 then {Queue kosong}
output (‘Antrian kosong!’)
else {Queue berisi}
elemen  Antrian.Isi[Antrian.Depan]
if Antrian.Depan = Antrian.Belakang then {Queue tinggal 1 isinya}
Antrian.Depan  0
Antrian.Belakang  0
else {Queue masih banyak isinya}
Antrian.Depan  Antrian.Depan + 1

Das könnte Ihnen auch gefallen