Stack (datastruktur)
![]() | Den här artikeln behöver källhänvisningar för att kunna verifieras. (2017-08) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
![En schematisk bild som visar först flera omgångar av påläggning, sedan dito för avlyftning.](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Lifo_stack.svg/344px-Lifo_stack.svg.png)
Stack är en linjär ordnad följd av element, som följer "sist in, först ut"-principen. Precis som en papperstrave finns det två operationer man kan utföra: lyfta av (en: pop) och lägga på (en: push).[1]
Stacken är en mycket vanlig datastruktur och används implicit i i stort sett i alla datorprogram. Vid funktionsanrop i imperativa programspråk lagras anropsparametrarna och lokala variabler i en stack-struktur, så att de sedan kan hämtas tillbaka i rätt ordning när funktionen återvänder. Många processorer har en inbyggd stack för att hantera funktionsanrop och returadresser.
För att hålla reda på var i minnet det översta elementet i stacken finns används en stackpekare.
Se även
- Kö
- Omvänd polsk notation (RPN)
- Stackmaskin
Referenser
- ^ Janlert, Lars-Erik. (25 juli 2002). ”Datatyper och algoritmer”. TPB. http://worldcat.org/oclc/939574148. Läst 6 juni 2019.