Stack (datastruktur)

En schematisk bild som visar först flera omgångar av påläggning, sedan dito för avlyftning.
En schematisk bild som visar först flera omgångar av påläggning, sedan dito för avlyftning.

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

Referenser

  1. ^ Janlert, Lars-Erik. (3 januari 2002). ”Datatyper och algoritmer”. TPB. http://worldcat.org/oclc/939574148. Läst 6 juni 2019. 

Media som används på denna webbplats

Question book-4.svg
Författare/Upphovsman: Tkgd2007, Licens: CC BY-SA 3.0
A new incarnation of Image:Question_book-3.svg, which was uploaded by user AzaToth. This file is available on the English version of Wikipedia under the filename en:Image:Question book-new.svg
Lifo stack.svg
Författare/Upphovsman: Vektorisering: Alhadis, Licens: CC0
A LIFO (Last In First Out) stack, abstract data type, in a simple representation of a stack runtime with push and pop operations.