Verem (stack) A verem egy olyan adatszerkezet, amelyben az utoljára betett elemet tudjuk feldolgozni. LIFO (Last In First Out). A veremből mindig a legfelső elemet látjuk csak, amelyet a veremmutatóval jelzünk. Ahhoz, hogy az alsóhoz hozzáférjünk, ki kell szedni a felette lévő elemeket. Két fontos műveletet különböztetünk meg. Az egyik az adott elem verembe helyezése Push, a másik pedig a legfelső elem kivéve a veremből Pop. A Stack osztály fontosabb tulajdnságai és metódusai: Stack (int capacity) Paraméteres konstruktor. A paraméter a kiindulásként tárolni kívánt elemek számát adja meg. Stack(IEnumerable collection) Paraméteres konstruktor. A verem elemei a paraméterként megadott IEnumerable felületet implementáló oszály elemei lesznek. T Peek() Visszaadja a verem tetején lévő elemet anélkül, hogy azt kivenné a veremből. T Pop() Visszaadja a verem tetején lévő elemet és az elemet eltávolítja a veremből. void Push(T item) A paraméterként megadott elemet beilleszti a verem tetejére. T[] ToArray() A verem elemeit visszaadja egy tömbben. void TrimExcess() Átméretezi a vermet úgy, hogy csak annyi elemnek foglaljon helyet, mint amennyi ténylegese használva van.