לדלג לתוכן

פייתון/פייתון גרסה 3/מחסנית

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
Simple representation of a stack runtime with push and pop operations.

מחסנית היא סוג של מבנה נתונים מופשט הפועל בצורה דומה לזו של מחסנית רובה: האיבר שנכנס ראשון למחסנית יוצא ממנה אחרון (תכונה זו מכונה נכנס אחרון יוצא ראשון - LIFO).

פעולות על המחסנית

[עריכה]

שלוש הפעולות הבסיסיות המגדירות מחסנית הן:

  • אתחול (init) - יצירה של מחסנית חדשה.
  • דחיפה (push) - הכנסת איבר חדש לראש המחסנית.
  • שליפה (pop) - פעולה המוציאה את האיבר העליון מהמחסנית.

אם המחסנית ריקה תתקבל שגיאה.

על חלק מהמחסניות ניתן להפעיל את הפונקציות:

  1. is_empty() - בודקת האם המחסנית ריקה.
  2. peek() - בדיקה מה הוא האובייקט הבא.

דוגמה

[עריכה]

ניתן להגדיר רשימה כך שתשמור את הנתונים בה כמו מחסנית.

#init:
lst = []
#push
lst.append(1)
lst.append(3)
lst.append(2)
print(lst)
#pop
print(lst.pop())
print(lst.pop())
print(lst.pop())
print(lst.pop())
>>>[1, 3, 2]
>>>2
>>>3
>>>1
>>>Traceback (most recent call last):
  File "C:/Users/user/Downloads/de/test.py", line 13, in <module>
    print(lst.pop())
IndexError: pop from empty list