Definisjon av stabel i programmering
vgajic/Getty Images
En stabel er en matrise eller listestruktur av funksjonskall og parametere som brukes i moderne dataprogrammering og CPU-arkitektur. I likhet med en stabel med tallerkener på en bufférestaurant eller kafeteria, legges elementer i en stabel til eller fjernes fra toppen av stabelen, i en siste inn først, først ut eller LIFO rekkefølge.
Prosessen med å legge til data i en stabel omtales som en push, mens å hente data fra en stabel kalles en pop. Dette skjer på toppen av stabelen. En stabelpeker indikerer utstrekningen av stabelen, justeres etter hvert som elementer skyves eller sprettes til en stabel.
Når en funksjon kalles opp, blir adressen til neste instruksjon skjøvet inn på stabelen.
Når funksjonen avsluttes, fjernes adressen stable og utførelsen fortsetter på den adressen.
Handlinger på stakken
Det er andre handlinger som kan utføres på en stabel avhengig av programmeringsmiljøet.
- Peek: Tillater inspeksjon av det øverste elementet på en stabel uten å faktisk fjerne elementet.
- Bytte: Også referert til som utveksling, posisjonene til de to øverste elementene i stabelen byttes, det første elementet blir det andre og det andre blir det øverste.
- Duplikat: Det øverste elementet plukkes ut av stabelen og skyves deretter tilbake på stabelen to ganger, og skaper et duplikat av det originale elementet.
- Roter: Også referert til som rull, spesifiserer antall elementer i en stabel som roteres i rekkefølge. For eksempel vil rotering av de fire øverste elementene i en stabel flytte det øverste elementet til den fjerde posisjonen mens de neste tre elementene flyttes opp en posisjon.
Stakken er også kjent som ' Last In First Out (LIFO)'.
Eksempler: I C og C++ , variabler deklarert lokalt (eller auto) lagres på stabelen.