Definitie van stapelen in programmeren

Programmeren van jonge mannen

vgajic/Getty Images





Een stapel is een array- of lijststructuur van functieaanroepen en parameters die worden gebruikt in moderne computerprogrammering en CPU-architectuur. Net als bij een stapel borden in een buffetrestaurant of cafetaria, worden elementen in een stapel toegevoegd of verwijderd van de bovenkant van de stapel, in een volgorde van laatste in eerst, eerst uit of LIFO.

Het proces van het toevoegen van gegevens aan een stapel wordt een push genoemd, terwijl het ophalen van gegevens van een stapel een pop wordt genoemd. Dit gebeurt bovenaan de stapel. Een stapelaanwijzer geeft de omvang van de stapel aan en past zich aan wanneer elementen naar een stapel worden geduwd of uitgeklapt.



Wanneer een functie wordt aangeroepen, wordt het adres van de volgende instructie op de stapel geduwd.

Wanneer de functie wordt afgesloten, wordt het adres uit de stapelen en de uitvoering gaat door op dat adres.



Acties op de stapel

Er zijn andere acties die op een stapel kunnen worden uitgevoerd, afhankelijk van de programmeeromgeving.

  • Peek: maakt inspectie van het bovenste element op een stapel mogelijk zonder het element daadwerkelijk te verwijderen.
  • Ruilen: ook wel uitwisseling genoemd, de posities van de twee bovenste elementen van de stapel worden verwisseld, waarbij het eerste element het tweede wordt en het tweede de bovenste.
  • Duplicaat: het bovenste element wordt uit de stapel gehaald en vervolgens twee keer terug op de stapel geduwd, waardoor een duplicaat van het originele element ontstaat.
  • Roteren: ook wel rol genoemd, specificeert het aantal elementen in een stapel die in hun volgorde worden geroteerd. Als u bijvoorbeeld de bovenste vier elementen van een stapel roteert, wordt het bovenste element naar de vierde positie verplaatst, terwijl de volgende drie elementen één positie omhoog gaan.

De stapel is ook bekend als: ' Last In First Out (LIFO)'.

Voorbeelden: In C en C++ , variabelen lokaal gedeclareerd (of auto) worden opgeslagen op de stapel.