Innholdsfortegnelse:
Definisjon - Hva betyr Stack?
En stabel er en konseptuell struktur som består av et sett med homogene elementer og er basert på prinsippet om sist i først ut (LIFO). Det er en ofte brukt abstrakt datatype med to hovedoperasjoner, nemlig push og pop. Push og pop utføres på det øverste elementet, som er varen som sist ble lagt til i bunken. Trykkoperasjonen legger til et element i stabelen mens popoperasjonen fjerner et element fra topposisjonen. Stablekonseptet brukes i programmering og minneorganisering i datamaskiner.
Techopedia forklarer Stack
En stabel representerer en sekvens av objekter eller elementer i et lineært datastrukturformat. Stabelen består av en avgrenset bunn og alle operasjoner utføres på topposisjonen. Hver gang et element legges til bunken ved skyveoperasjonen, økes toppverdien av en, og når et element sprettes ut fra bunken, dekrementeres toppverdien av en. En peker til bunnposisjonen er også kjent som pekepekeren.
En bunke kan være fastmontert i størrelse eller ha dynamisk implementering der størrelsen får lov til å endre seg. Når det gjelder stabile kapasitetsbunker, kan du prøve å legge et element til en allerede full bunke føre til et unntak av bunkeoverløp. Tilsvarende er en tilstand der en pop-operasjon prøver å fjerne et element fra en allerede tom bunke kjent som underflyt.
En stabel anses å være en begrenset datastruktur, da bare et begrenset antall operasjoner er tillatt. I tillegg til push- og pop-operasjoner, kan visse implementeringer gi rom for avanserte operasjoner som:
- Peek - Se det øverste elementet i bunken.
- Dupliser - Kopier toppelementets verdi til en variabel og skyv den tilbake i bunken.
- Bytt - Bytt de to øverste elementene i bunken.
- Roter - Flytt de øverste elementene i bunken som spesifisert av et nummer eller flytt på en roterende måte.
Programvareimplementeringer av stack-konseptet gjøres ved bruk av matriser og koblede lister der topposisjonen spores ved hjelp av henholdsvis en variabel eller header-peker. Mange programmeringsspråk gir innebygde funksjoner som støtter implementering av stabelen.
Maskinvarestabler implementeres med det formål å tildele minnet og få tilgang til dem med fast opprinnelse og størrelse. Stableregistre brukes til å lagre verdien på bunkeviseren.