מחסנית (מבנה נתונים) – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה |
מ בוט החלפות |
||
שורה 18:
#אתחול מחסנית יוצר מחסנית ריקה. isEmpty(init()) = true
#כל מחסנית שהוסיפו לה יותר איברים משהסירו איננה ריקה. isEmpty(push(i,S) = false
את פעולת ההסרה ניתן להגדיר על מחסנית ריקה ככזאת שמחזירה את אותה המחסנית.
חשוב לשים לב לכך שכל אוסף של פונקציות וערכים המקיים את התנאים האלה נחשב למחסנית. דוגמה לא-טריוויאלית לכך היא [[קבוצת המספרים הטבעיים]], עבור הפעולות "החזר 0" (אתחול), "הוסף 1"(push), "הפחת 1"(pop), "האם_אפס"(isEmpty). בכיוון השני ניתן לומר שכל מחסנית עשויה להוות ייצוג למספרים הטבעיים.
שורה 25:
מחסנית היא מבנה נתונים בסיסי במימוש שפות תכנות. [[מעבד|במעבדים]] רבים קיים [[אוגר (מחשבים)|אוגר]] מיוחד המשמש כמצביע למחסנית, וב[[שפת מכונה|שפת המכונה]] של מעבדים אלו ממומשת הקריאה לתת-שיגרה על ידי הכנסת כתובת החזרה למחסנית. ברוב [[שפה עילית|השפות העיליות]] נשמרים גם המשתנים המקומיים במבנה המחסנית הנתמך במעבד.
ישנו קשר הדוק בין מחסנית ל[[עץ (תורת הגרפים)|עץ]]: מחסנית היא מבנה הנתונים הנפוץ ביותר
== מימוש מחסנית ==
|