Stekas (angl. stack) – tai duomenų struktūra, veikianti pagal LIFO (Last In, First Out – „paskutinis atėjo, pirmas išeina“) principą.
Tai reiškia, kad elementai į steką dedami ir išimami tik iš viršaus, panašiai kaip krūva lėkščių: paskutinė uždėta lėkštė bus pirmoji paimta.
Pagrindinės operacijos:
1. Push – įdeda elementą į steko viršūnę.
2. Pop – pašalina elementą iš viršūnės.
3. Peek/Top – peržiūri viršutinį elementą nešalinant jo.
Pavyzdžiai
1. Programavimo kontekste (Python):
python
stack = []
stack.append(1) Push: [1]
stack.append(2) Push: [1, 2]
stack.append(3) Push: [1, 2, 3]
print(stack.pop()) Pop: grąžina 3, stack = [1, 2]
print(stack[-1]) Peek: grąžina 2
2. Kasdieniame gyvenime:
- Knygų krūva – paskutinė padėta knyga bus pirmoji paimta.
- Internetų naršymo istorija – mygtukas „Atgal“ grąžina į paskiausiai lankytą puslapį.
- Atšaukimų funkcija (Ctrl+Z) – paskutinis veiksmas atšaukiamas pirmas.
3. Algoritmuose:
- Skliaustų tikrinimas – ar teisingai sudėti `({[]})`.
- Rekursijos įgyvendinimas – funkcijų iškvietimai saugomi steke.
- Kelio paieška labirinte (DFS – Depth First Search).
Stekas plačiai naudojamas programavime, operacinėse sistemose (atminties valdymas) ir įvairiuose algoritmuose dėl savo paprastumo ir efektyvumo.
Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.