You are on page 1of 5

ATP red

Red je posebna vrsta liste s registriranim skupom operacija koji se sastoji od niza istovrsnih elemenata. Kod reda se ubacivanje elemenata vri na kraju liste, a elementi se briu ili itaju sa poetka liste, stoga se red jo naziva FIFO-lista (FIFO = First In First Out). Kraj reda se naziva zaelje reda, a poetak reda se naziva elo reda. Mogu se koristiti pojmovi dva indeksa ulaz i izlaz, pa je po tome ulaz kraj reda i na njemu se vri umetanje (stranji kraj - rear), a izlaz je drugi kraj (prednji kraj - front).

Red se sastoji od:


o o

jednodimenzionalnog cirkularnog polja. dva kursora od kojih jedan pokazuje element na elu reda, a drugi element na dnu reda

Operacije kod reda:


FrontQ(Q) - funkcija koja vraa vrijednost elementa koji se trenutno nalazi na elu reda EnQuene(x,Q) - je funkcija koja dodaje novi element x na zaelje reda DeQuene(Q) - je funkcija koja brie element sa ela reda InitQ(Q) - funkcija koja inicijalizira prezan red IsEmptyQ(Q) - logika funkcija koja nam vraa 1 ako je red prazan i 0 ako ima elemenata u redu

o o o o o

Implementacija liste pomou pokazivaa

o o

2 pokazivaa jedan pokazuje na poetak drugi na kraj reda novi elementi se dodaju na kraj vezane liste elementi se briu s poetka vezane liste

Implementacija pomou cirkularnog polja


Implementacija pomou polja najee se izvodi pomou krunog ili cirkularnog reda. Cirkularni red dobijemo kada spojimo poetak i kraj niza. Cirkularnost se ostvaruje uporabom operatora modulo (%) i jednog praznog elementa niza. Time se omoguuje razlikovanje praznog i punog reda. Prazan red je ako je ulaz jednak izlazu, a prazan red je ako je ulaz + 1 modularno podjeljen sa veliinom polja daje izlaz. I kad bi cijeli niz bio ispunjen, morali bismo imati broja elemenata.

o o

o o

Najfleksibilnija implementacija potrebno: sama lista struktura koja e sadravati pokazivae na poetak i kraj reda, i tako omoguiti jednostavnu izvedbu operacija za rad s redom. EnQueue se izvodi tako da se pokaziva zadnjeg elementa usmjeri na novostvoreni element, te se nakon toga pokaziva na kraj liste usmjerava na taj isti element. DeQueue se izvodi tako da se pokaziva na poetak liste (glavu) preusmjeri na sljedei element, a stari se element obrie. Lista je prazna ukoliko oba pokazivaa pokazuju na isti element.

Sloenost operacija

FrontQ(Q) O(1) EnQuene(x,Q) O(1)

DeQuene(Q) O(1) InitQ(Q) O(1) IsEmptyQ(Q) O(1)

Literatura

http://www.cplusplus.com/reference/stl/queue/ http://www.stumbleupon.com/su/1wd3S3/www.cadlab.fsb.hr/download/skripte/39.pdf http://hr.wikipedia.org/wiki/Red_%28struktura_podataka%29 http://elf.foi.hr/mod/resource/view.php?id=6738

Dijagram toka

Mentalna mapa