Najprej si bomo ogledali kaj je stack in kaj je čakalna vrsta individualno, nato pa bomo razpravljali o razlikah med skladom in čakalno vrsto.
Kaj je Stack?
Podatkovna struktura. Pri matriki je možen naključen dostop, tj. do katerega koli elementa matrike je mogoče dostopati kadarkoli, pri skladu pa je možen samo zaporedni dostop. Je vsebnik, ki sledi pravilu vstavljanja in brisanja. Sledi načelu LIFO (zadnji vstop, prvi ven) pri katerem vstavljanje in brisanje poteka z ene strani, znano kot a vrh . V sklad lahko vstavimo elemente podobnega podatkovnega tipa, torej elementov različnih podatkovnih tipov ni mogoče vstaviti v isti sklad. Obe operaciji se izvajata v LIFO, tj. potiskati in pop delovanje.
Na skladu je mogoče izvesti naslednje operacije:
V skladu, vrh je kazalec, ki se uporablja za spremljanje zadnjega vstavljenega elementa. Za implementacijo sklada bi morali poznati velikost sklada. Dodeliti moramo pomnilnik, da dobimo velikost sklada. Obstajata dva načina za implementacijo sklada:
Kaj je čakalna vrsta?
A
Podobnosti med skladom in čakalno vrsto.
Med skladom in čakalno vrsto sta dve podobnosti:
bližnjice na tipkovnici linux
Tako sklad kot čakalna vrsta sta linearni podatkovni strukturi, kar pomeni, da so elementi shranjeni zaporedno in dostopni v enem samem zagonu.
Tako sklad kot čakalna vrsta sta prilagodljiva po velikosti, kar pomeni, da se lahko povečata in zmanjšata glede na zahteve v času izvajanja.
Razlike med skladom in čakalno vrsto
Med skladom in čakalno vrsto so naslednje razlike:
Osnova za primerjavo | Stack | Čakalna vrsta |
---|---|---|
Načelo | Sledi načelu LIFO (Last In-First Out), kar pomeni, da bo element, ki je vstavljen zadnji, prvi izbrisan. | Sledi načelu FIFO (First In - First Out), kar pomeni, da bo element, ki je prvi dodan, prvi element, ki bo odstranjen s seznama. |
Struktura | Ima samo en konec, s katerega potekata vstavljanje in brisanje, in ta konec je znan kot vrh. | Ima dva konca, in sicer sprednji in zadnji del. Sprednji del se uporablja za brisanje, zadnji del pa za vstavljanje. |
Število uporabljenih kazalcev | Vsebuje samo en kazalec, znan kot zgornji kazalec. Zgornji kazalec vsebuje naslov zadnjega vstavljenega ali najvišjega elementa sklada. | Vsebuje dva kazalca sprednji in zadnji kazalec. Sprednji kazalec ima naslov prvega elementa, medtem ko ima zadnji kazalec naslov zadnjega elementa v čakalni vrsti. |
Opravljene operacije | Izvaja dve operaciji, potisni in poskoči. Operacija potiskanja vstavi element na seznam, medtem ko operacija izpiranja element odstrani s seznama. | Izvaja predvsem dve operaciji, in sicer postavi v vrsto in odstrani iz vrste. Operacija postavitve v čakalno vrsto izvede vstavljanje elementov v čakalno vrsto, medtem ko operacija odstranitve iz čakalne vrste izvede brisanje elementov iz čakalne vrste. |
Pregled praznega stanja | Če je top==-1, to pomeni, da je sklad prazen. | Če front== -1 ali front = rear+1, kar pomeni, da je čakalna vrsta prazna. |
Pregled popolnega stanja | Če top== max-1, ta pogoj pomeni, da je sklad poln. | Če je zadaj==max-1, ta pogoj pomeni, da je sklad poln. |
Različice | Nima nobenih vrst. | Ima tri vrste, kot so prednostna čakalna vrsta, krožna čakalna vrsta in dvostranska čakalna vrsta. |
Izvedba | Ima enostavnejšo izvedbo. | Ima razmeroma zapleteno izvedbo kot sklad. |
Vizualizacija | Sklad je vizualiziran kot navpična zbirka. | Čakalna vrsta je vizualizirana kot vodoravna zbirka. |