( QUEUE )
A B C
Depan
Masuk
Belakang
A B C D E
Depan
Belakang
Masuk
B C D E
Depan
Masuk
Belakang
Belakang = 0
Blk = Blk + 1
B. Q[Belakang]:=x;
Q[1]:= A
Antrian (Q)
Depan = 1
Belakang = 1
A
C. Q[Belakang]:=x;
Q[2]:= B
Tambahkan 4 elemen baru (x)= B , C , D , E , F
Masukkan elemen C Belakang:=3 , depan:=1
Masukkan elemen D Belakang:=4 , depan:=1
Masukkan elemen E Belakang:=5 , depan:=1
Masukkan elemen F Belakang:=6 , depan:=1
Antrian (Q)
F
Kondisi terakhir
Belakang = 6
D
C
B
A
Depan = 1
example :
Hapus/keluarkan 1 elemen dari antrian
Y := Q[Depan];
Y := Q[1];
Y := A;
C
B
Depan := Depan + 1;
:= 1 + 1;
:= 2
C
B
Belakang = 3
Depan = 1
Belakang = 3
Depan = 2
Belakang = 3
Depan = 1
Belakang = 3 , Depan=3
keluarkan B
keluarkan C
C
B
Belakang = 3
Depan = 1
Y := Q[Depan];
Y := Q[1];
Y := A;
C
B
C
B
C
B
Belakang = 3
Depan = 1
Belakang = 3
Depan = 1
Belakang = 2
Depan = 1
Kelemahan cara 2 :
Untuk data yang banyak maka harus banyak
terjadi proses pergeseran atau untuk jumlah
elemen yg besar akan memerlukan waktu yg lama
untuk melakukan pergeseran elemen.
ex : 1000 elemen menjadi 999 pergeseran
pd
Gambarkan
keadaan
antrian
untuk
melakukan
operasi
penambahan
&
penghapusan elemen ( elemen no. ujian ).
Diasumsikan
keadaan
awal
antrian=kosong, dan antrian tsb dpt
menampung maks_elemen = 4, dg operasi :
a) tambahkan 3 elemen pd antrian (31001,
31002, 31003 )
b) hapus 1 elemen dr antrian
c) tambah 1 elemen dr antrian (31004)
d) tambahkan 1 elemen berikutnya (31005)