Pirma, mes pažvelgsime į kas yra stack ir kas yra eilė individualiai, o tada aptarsime kamino ir eilės skirtumus.
Kas yra Stack?
Duomenų struktūra. Masyvo atveju galima atsitiktinė prieiga, t. y. bet kurį masyvo elementą galima pasiekti bet kuriuo metu, o krūvoje galima tik nuosekli prieiga. Tai konteineris, kuris atitinka įterpimo ir ištrynimo taisyklę. Tai vadovaujasi principu LIFO (paskutinis įėjimas pirmas) kuriame įterpimas ir ištrynimas vyksta iš vienos pusės, žinomos kaip a viršuje . Į krūvą galime įterpti panašaus duomenų tipo elementus, t. y. skirtingų duomenų tipo elementų negalima įterpti į tą patį krūvą. Abi operacijos atliekamos LIFO, t.y. stumti ir pop operacija.
Toliau pateikiamos operacijos, kurias galima atlikti su krūva:
Į krūvą, viršuje yra rodyklė, naudojama sekti paskutinį įterptą elementą. Norėdami įdiegti krūvą, turėtume žinoti krūvos dydį. Turime paskirstyti atmintį, kad gautume kamino dydį. Yra du būdai, kaip įdiegti krūvą:
Kas yra eilė?
A
Stacko ir eilės panašumai.
Yra du panašumai tarp kamino ir eilės:
Ir dėklas, ir eilė yra linijinė duomenų struktūra, o tai reiškia, kad elementai saugomi nuosekliai ir pasiekiami vienu paleidimu.
Tiek krūva, tiek eilė yra lankstaus dydžio, o tai reiškia, kad jie gali augti ir trauktis pagal reikalavimus veikimo metu.
Skirtumai tarp kamino ir eilės
Toliau pateikiami kamino ir eilės skirtumai:
Palyginimo pagrindas | Stack | Eilė |
---|---|---|
Principas | Jis vadovaujasi principu LIFO (Last In- First Out), kuris reiškia, kad elementas, kuris įterpiamas paskutinis, bus pirmasis, kuris bus ištrintas. | Jame laikomasi FIFO (First In -First Out) principo, kuris reiškia, kad elementas, kuris pridedamas pirmiausia, bus pirmasis elementas, kuris bus pašalintas iš sąrašo. |
Struktūra | Jis turi tik vieną galą, iš kurio vyksta ir įterpimas, ir trynimas, ir tas galas yra žinomas kaip viršus. | Jis turi du galus, ty priekinį ir galinį. Priekinis galas naudojamas ištrynimui, o galinis – įterpimui. |
Naudotų rodyklių skaičius | Jame yra tik vienas žymeklis, žinomas kaip viršutinis žymeklis. Viršutinėje žymeklyje yra paskutinio įterpto arba aukščiausio krūvos elemento adresas. | Jame yra dvi priekinės ir galinės rodyklės. Priekinėje žymeklyje yra pirmojo elemento adresas, o užpakalinėje – paskutinio eilės elemento adresas. |
Atliktos operacijos | Jis atlieka dvi operacijas: stumti ir pop. „Push“ operacija įterpia elementą į sąrašą, o iššokančioji operacija pašalina elementą iš sąrašo. | Ji daugiausia atlieka dvi operacijas: eilę ir eilę. Eilės operacija atlieka elementų įterpimą į eilę, o eilės operacija atlieka elementų ištrynimą iš eilės. |
Tuščios būklės tyrimas | Jei viršuje ==-1, tai reiškia, kad krūva tuščia. | Jei priekis == -1 arba priekis = galinis+1, tai reiškia, kad eilė tuščia. |
Pilnos būklės apžiūra | Jei top== max-1, ši sąlyga reiškia, kad krūva pilna. | Jei galinė ==max-1, ši sąlyga reiškia, kad krūva pilna. |
Variantai | Jame nėra jokių tipų. | Ji yra trijų tipų, pavyzdžiui, prioritetinė eilė, apskrita eilė ir dviguba eilė. |
Įgyvendinimas | Jis turi paprastesnį įgyvendinimą. | Jo įgyvendinimas yra palyginti sudėtingas nei krūva. |
Vizualizacija | Stack vizualizuojamas kaip vertikali kolekcija. | Eilė vizualizuojama kaip horizontali kolekcija. |