Definition av Stack i programmering

En stack är en grupp eller liststruktur för funktionssamtal och parametrar som används i modern datorprogrammering och CPU-arkitektur. I likhet med en bunt med tallrikar på en bufférestaurang eller cafeteria, läggs till eller tas bort element i en bunt från toppen av bunten, i en "sist i första, första ut" eller LIFO-ordning.

Processen att lägga till data i en bunt kallas en "push", medan hämtning av data från en bunt kallas en "pop." Detta sker längst upp i bunten. En stapelpekare indikerar stapelns utsträckning, justerar när elementen skjuts eller poppas till en bunt.

När en funktion anropas skjuts adressen till nästa instruktion på bunten.

När funktionen går ut poppas adressen från bunten och körningen fortsätter på den adressen.

Åtgärder på stacken

Det finns andra åtgärder som kan utföras på en stack beroende på programmeringsmiljön.

  • Peek: Tillåter inspektion av det översta elementet i en bunt utan att faktiskt ta bort elementet.
  • Byte: kallas också "byte", placeringarna för de två övre elementen i stacken byts, det första elementet blir det andra och det andra blir det övre.
  • Duplikat: Det översta elementet släpps från bunten och skjuts sedan tillbaka på bunten två gånger, vilket skapar ett duplikat av det ursprungliga elementet.
  • Rotera: kallas också ”rull”, anger antalet element i en bunt som roteras i sin ordning. Till exempel, genom att rotera de fyra översta elementen i en stack flyttar det översta elementet till det fjärde läget medan de nästa tre elementen rör sig upp ett läge.

Stacken är också känd som "Last In First Out (LIFO) ".

Exempel: I C och C ++ lagras variabler som deklarerats lokalt (eller auto) på bunten.