Verem
A verem struktúra a gépi kódú programozásban fordul elő leggyakrabban, a többi nyelv esetében, ha használni szeretnénk létre kell hoznunk. A verem adatok sorozatát tartalmazza, amelyekkel csak speciális műveleteket végezhetünk el.
A verem egy olyan sorozat, amelynek csak az egyik végét tudjuk kezelni, itt tehetünk be új elemet, és itt vehetünk ki elemet.
A veremmel végezhető műveletek
PUSH: Egy adatot a verem tetejére, azaz a sorozat végére helyez.
POP: A verem tetején, a sorozat végén levő elemet kiteszi egy változóba, majd a verem végéről elhagyja.
A verem elemeit tároljuk egy A(N) vektorba. A veremben így csak N számú elemet tárolhatunk. A PUSH műveletnél erre külön figyelni kell. A verem kezelésekor szükségünk van egy mutatóra, amely azt mutatja, hogy meddig van töltve a verem. A mutató az első szabad helyre mutat. A verem használata előtt a mutatónak értéket kell adni, ez az érték 1, mivel az első a szabad hely az üres veremben.
Verem műveletek
Üresre állítás:
AM=1
Eljárás vége
AM a verem mutató.
PUSH:
Ha Am>N akkor Hibaüzenet: Betelt a verem
Különben A(AM):=x
AM:=AM+1
Eljárás vége
POP:
Ha Am=1 akkor Hibaüzenet: Üres a verem
Különben A(AM):=AM-1
X:=A(AM)
Eljárás vége
Verem alkalmazása
A verem adatszerkezetet alkalmazzuk az eljárások meghívásakor. Amennyiben az első eljárás meghívja a másodikat, akkor tárolni kell azt a címet, ahol folytatni kell a műveleteket, ha vége a meghívott eljárásnak. Minden eljárás meghívásánál a címet egy veremben tároljuk, az eljárás végén pedig a címet kivesszük a veremből.
A verem egy olyan sorozat, amelynek csak az egyik végét tudjuk kezelni, itt tehetünk be új elemet, és itt vehetünk ki elemet.
Egy adatot a verem tetejére, azaz a sorozat végére helyez.
A verem tetején, a sorozat végén levő elemet kiteszi egy változóba, majd a verem végéről elhagyja.