Stack vs Red
Stack je naručeni popis u koji se umetanje i brisanje stavki popisa može obaviti samo na jednom kraju koji se zove vrh. Iz tog razloga, snop se smatra strukturom podataka Last in First out (LIFO). Poredak je također uređeni popis u koji se umetanje stavki popisa vrši u jednom kraju koji se naziva stražnji dio, a brisanje stavki na drugom kraju naziva se prednjim. Ovaj mehanizam za umetanje i brisanje čini strukturu podataka prvi u prvom redu (FIFO).
Što je Stack?
Kao što je spomenuto ranije, snop je struktura podataka u koju se dodaju elementi i uklanjaju samo s jednog kraja koji se zove vrh. Stepovi omogućuju samo dvije temeljne operacije zvane push i pop. Push operacija dodaje novi element na vrh snopa. Operacija pop uklanja element s vrha snopa. Ako je snop već popunjen, kada se izvede push operacija, smatra se preljevom snopa. Ako se pop operacija izvodi na već praznom snogu, smatra se podmlažanjem snopa. Zbog malog broja operacija koje bi se mogle izvesti na hrpi, smatra se ograničenom strukturom podataka. Uz to, prema načinu definiranja push i pop operacija, jasno je da elementi koji su posljednji dodani u snop prvo ispadaju iz snopa. Stoga se snop smatra LIFO strukturom podataka.
Što je red?
U redu se dodaju elementi sa stražnje strane i uklanjaju se s prednje strane. Budući da će elementi koji su prvi dodani prvo biti uklonjeni iz čekanja, on održava redoslijed FIFO. Zbog ovog redoslijeda dodavanja i uklanjanja elemenata, red čekanja predstavlja idejnu liniju za odlazak. Opće operacije koje podržavaju red čekanja su operacije čekanja i de-čekanja. Operacija čekanja čekanja dodati će element na stražnjem dijelu čekanja, dok operacija uklanjanja reda uklanja element s prednje strane čekanja. Općenito, redovi nemaju ograničenje broja elemenata koji se mogu dodati u red osim ograničenja memorije.
Koja je razlika između Stacka i Reda?
Iako su i stokovi i redovi vrsta naručenih popisa, postoje neke važne razlike. U hrpama se dodavanje ili brisanje predmeta može obaviti samo s jednog kraja koji se zove vrh, dok se u redovima čekanja dodavanje predmeta vrši s jednog kraja koji se naziva stražnji, a brisanje predmeta vrši se s drugog kraja koji se naziva prednji. U nizu, stavke koje su posljednje dodane u snop prvo će biti uklonjene iz snopa. Stoga se snop smatra LIFO strukturom podataka. U redovima će stavke koje se prvo dodaju prvo biti uklonjene iz reda čekanja. Stoga se red čekanja smatra FIFO strukturom podataka.
Srodna veza:
Razlika između Stack i Heap