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