Definicja stosu w programowaniu

Programowanie młodego człowieka

vgajic/Getty Images





Stos to tablica lub struktura listy wywołań funkcji i parametrów używanych w nowoczesnym programowaniu komputerowym i architekturze procesora. Podobnie jak w przypadku stosu talerzy w restauracji bufetowej lub stołówce, elementy w stosie są dodawane lub usuwane ze szczytu stosu, w kolejności ostatnie weszło, pierwsze wyszło lub LIFO.

Proces dodawania danych do stosu nazywa się wypychaniem, podczas gdy pobieranie danych ze stosu nazywa się wypychaniem. Dzieje się to na szczycie stosu. Wskaźnik stosu wskazuje zakres stosu, dostosowując się w miarę przesuwania lub zdejmowania elementów na stos.



Kiedy funkcja jest wywoływana, adres następnej instrukcji jest odkładany na stos.

Po wyjściu z funkcji adres znika z stos i egzekucja jest kontynuowana pod tym adresem.



Akcje na stosie

Istnieją inne akcje, które można wykonać na stosie w zależności od środowiska programistycznego.

  • Peek: umożliwia kontrolę najwyższego elementu na stosie bez faktycznego usuwania elementu.
  • Swap: Nazywany również wymianą, pozycje dwóch górnych elementów stosu są zamieniane, pierwszy element staje się drugim, a drugi wierzchołkiem.
  • Duplikat: Najwyższy element jest zdejmowany ze stosu, a następnie dwukrotnie odkładany na stos, tworząc duplikat oryginalnego elementu.
  • Obróć: Nazywany również rolką, określa liczbę elementów w stosie, które są obracane w swojej kolejności. Na przykład obrócenie czterech górnych elementów stosu spowoduje przesunięcie najwyższego elementu na czwartą pozycję, podczas gdy kolejne trzy elementy przesuną się o jedną pozycję w górę.

Stos jest również znany jako ' Last In First Out (LIFO)”.

Przykłady: w C i C++ , zmienne zadeklarowane lokalnie (lub auto) są przechowywane na stosie.