מחסנית (מבנה נתונים) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
שורה 3:
 
== פעולות על המחסנית ==
=== פעולות בסיסיות ===
שלוש הפעולות הבסיסיות המגדירות מחסנית הן:
* '''אתחול''' (init) - יצירה של מחסנית חדשה.
* '''דחיפה''' (push) - הכנסת איבר חדש לראש המחסנית.
* '''שליפה''' (pop) - פעולה המוציאה את האיבר העליון מהמחסנית.
 
=== פעולות נוספות ===
לעיתים, מוגדרות במחסנית גם פעולות נוספות:
* האם_המחסנית_ריקה? (isEmpty) - פעולה המחזירה true אם מחסנית נתונה ריקה, ואחרת מחזירה false.
* הצצה (peek/top) - פעולה המחזירה את ערכו של האיבר העליון במחסנית מבלי להוציא אותו מהמחסנית. פעולה זו איננה חיונית אם מגדירים את פעולת השליפה ככזאת שמבצעת פעולת הצצה וגם משנה את המחסנית.
 
== פונקציות ==
את כל הפעולות האלה ניתן להגדיר פורמלית כפונקציות מתמטיות שאינן משנות את המחסנית, אלא מחזירות מחסנית חדשה.
את כל הפעולות האלה ניתן להגדיר פורמלית כפונקציות מתמטיות שאינן משנות את המחסנית, אלא מחזירות מחסנית חדשה. הפונקציות מקיימות את התנאים דלהלן:
#ראש המחסנית הוא האיבר האחרון שהוכנס למחסנית. כלומר top(push(i,S)) = i
#אם מוסיפים איבר ואז מסירים איבר מקבלים את המחסנית המקורית. כלומר pop(push(i,S)) = s