Antrian (Queue)
Definisi Antrian disebut juga “waiting line” yaitu penambahan elemen baru pada bagian BELAKANG dan penghapusan elemen dilakukan bagian DEPAN. Pengaksesan antrian menggunakan FIFO (First In First Out)
ilustrasi Antrian Kosong Antrian 1 Elemen Antrian N Elemen 100 300 200 500 100 Belakang=4 Belakang=1 Belakang=0 Depan=0 Depan=1 Depan=1
Operasi dasar pada tumpukan CREATEQUEUE(Q): membuat antrian Q. MAKENULL(Q): Mengosongkan antrian Q. EMPTY(Q): menguji apakah antrian kosong. FULL(Q): menguji apakah antrian penuh Tambah(x,Q): memasukan elemen baru x kedalam Antrian Q Ambil(Q): mengeluarkan elemen pada Antrian Q
Algoritma Tambah Antrian Jika Full(Q) maka cetak Overflow Jika Empty(Q) maka Depan=1 Belakang=1 {masukan elemen baru} Antiran[Belakang]:=Elemen Belakang=belakang+1 Ulangi langkah 1-3
Algoritma Ambil Antrian Jika Empty(Q) maka cetak Underflow Jika tidak maka Elemen= Antrian[Depan] {Geser Antrian(Q)} For Depan=1 to maxQ Antrian[Depan]=Antrian[Depan+1] Belakang=Belakang-1 Jika Depan=Belakang maka Depan=0 dan Belakang=0 Ulangi langkah 1-4
TAMBAH ELEMEN A B C D Depan = 0 Belakang = 0 Depan = 1 Depan = 1
AMBIL ELEMEN A B C D Ambil 1 elemen Geser antrian Depan = 1 Belakang = 3