מחסנית - Stack<T>
מחסנית היא מבנה נתונים שבו מי שנכנס אחרון יוצא ראשון: LIFO - Last In, First Out. למחסנית פתח יחיד, ראש המחסנית, וממנו מתבצעות גם ההכנסה וגם ההוצאה.
פעולות במחלקה
- Stack() - בונה מחסנית חדשה וריקה.
- Push(T value) - מקבלת ערך ומוסיפה אותו לראש המחסנית.
- Pop() - מסירה ומחזירה את האיבר שבראש המחסנית.
- Top() - מחזירה את האיבר שבראש המחסנית ללא הסרתו.
- IsEmpty() - מחזירה true אם המחסנית ריקה, ו-false אחרת.
סריקת מחסנית
כדי לעבור על מחסנית שאורכה אינו ידוע נשתמש בלולאת while, כל עוד המחסנית אינה ריקה. לדוגמה: while (!s.IsEmpty()). כדי להגיע לאיבר הבא נצטרך להסיר את האיבר הנוכחי מראש המחסנית.
שמירת ערכי המחסנית
כאשר רוצים לשמור על הערכים במהלך הסריקה נשתמש במחסנית עזר.

העברת איברים ממחסנית אחת לאחרת הופכת את סדרם. העברה כפולה - מהמקור לעזר ומהעזר למקור - מחזירה את הסדר המקורי. באופן כללי, מספר העברות זוגי משמר את הסדר ומספר העברות אי־זוגי הופך אותו.