Prvo ćemo pogledati što je stog i što je red čekanja pojedinačno, a zatim ćemo razgovarati o razlikama između stoga i reda čekanja.
Što je Stack?
Struktura podataka. U slučaju niza moguć je nasumični pristup, tj. bilo kojem elementu niza može se pristupiti bilo kada, dok je u stogu moguć samo sekvencijalni pristup. To je spremnik koji slijedi pravilo umetanja i brisanja. Slijedi princip LIFO (zadnji ušao prvi izašao) u kojem se umetanje i brisanje odvija s jedne strane poznato kao a vrh . U stog možemo umetnuti elemente sličnog tipa podataka, tj. elementi različitog tipa podataka ne mogu se umetnuti u isti stog. Dvije se operacije izvode u LIFO-u, tj. gurnuti i pop operacija.
Sljedeće su operacije koje se mogu izvesti na stogu:
U hrpi, vrh je pokazivač koji se koristi za praćenje zadnjeg umetnutog elementa. Da bismo implementirali stog, trebali bismo znati veličinu stoga. Moramo dodijeliti memoriju da bismo dobili veličinu stoga. Postoje dva načina za implementaciju stoga:
kako izaći iz while petlje java
Što je red čekanja?
A
Sličnosti između stoga i reda čekanja.
Postoje dvije sličnosti između stoga i reda:
I stog i red su linearne strukture podataka, što znači da se elementi pohranjuju sekvencijalno i da im se pristupa u jednom izvođenju.
I stog i red čekanja fleksibilni su po veličini, što znači da mogu rasti i smanjivati se prema zahtjevima u vremenu izvođenja.
Razlike između stoga i reda čekanja
Sljedeće su razlike između stoga i reda:
Osnova za usporedbu | Stog | Red |
---|---|---|
Načelo | Slijedi princip LIFO (Last In-First Out), koji podrazumijeva da će element koji je zadnji umetnut biti prvi izbrisan. | Slijedi načelo FIFO (First In - First Out), što podrazumijeva da će element koji je prvi dodan biti prvi element koji će biti uklonjen s liste. |
Struktura | Ima samo jedan kraj s kojeg se odvijaju i umetanje i brisanje, a taj je kraj poznat kao vrh. | Ima dva kraja, prednji i stražnji. Prednji kraj služi za brisanje, dok se stražnji kraj koristi za umetanje. |
Broj korištenih pokazivača | Sadrži samo jedan pokazivač poznat kao gornji pokazivač. Gornji pokazivač sadrži adresu zadnjeg umetnutog ili najvišeg elementa na stogu. | Sadrži dva pokazivača, prednji i stražnji pokazivač. Prednji pokazivač sadrži adresu prvog elementa, dok stražnji pokazivač sadrži adresu posljednjeg elementa u redu. |
Izvedene operacije | Izvodi dvije operacije, guranje i iskakanje. Operacija push umeće element na popis dok operacija pop uklanja element s popisa. | Izvodi uglavnom dvije operacije, stavljanje u red i uklanjanje iz reda. Operacija stavljanja u red čekanja izvršava umetanje elemenata u red čekanja dok operacija uklanjanja iz reda čekanja izvršava brisanje elemenata iz reda čekanja. |
Ispitivanje praznog stanja | Ako je top==-1, što znači da je stog prazan. | Ako je front== -1 ili front = rear+1, to znači da je red čekanja prazan. |
Pregled potpunog stanja | Ako je top== max-1, ovaj uvjet implicira da je stog pun. | Ako je stražnji==max-1, ovaj uvjet implicira da je stog pun. |
Varijante | Nema tipova. | Postoje tri vrste kao što su red čekanja s prioritetom, kružni red čekanja i dvostruki red čekanja. |
Provedba | Ima jednostavniju implementaciju. | Ima razmjerno složeniju implementaciju od hrpe. |
Vizualizacija | Stog je vizualiziran kao okomita zbirka. | Red je vizualiziran kao horizontalna zbirka. |