מכל (טיפוס נתונים מופשט)

במדעי המחשב, מְכָלאנגלית: Container) הוא מחלקה, מבנה נתונים,[1][2] או טיפוס נתונים מופשט (ADT) שמופעו מכיל אוסף של אובייקטים אחרים. במילים אחרות, הם מאחסנים אובייקטים בצורה מאורגנת על פי כללים מסוימים. קיימים מימושים שונים של המכל (בצורת הורשה), שלכל אחד מהם גודל וסיבוכיות פעולות שונים, המאפשרים גמישות בבחירת המכל המתאים לכל בעיה.

פונקציות ומאפייני מכלים עריכה

מכלים מאופיינים בעזרת שלוש התכונות הבאות:

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

מחלקות מכלים צפויות לממש את המתודות הבאות:

  • יצירת מכל ריק (בנאי);
  • הכנסת עצמים לתוך המכל;
  • מחיקת אובייקטים מן המכל;
  • מחיקת כל האובייקטים בתוך המכל;
  • גישה אל העצמים במכל;

לעיתים מכלים ממומשים ביחד עם איטרטורים

סוגים עריכה

מכלים מסווגים כמכל חד-ערכי או מכל אסוציאטיבי.

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

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

מימושים עריכה

ראו גם עריכה

קישורים חיצוניים עריכה

הערות שוליים עריכה

  1. ^ Paul E. Black (ed.), entry for data structure in Dictionary of Algorithms and Data Structures. US National Institute of Standards and Technology.15 December 2004. Accessed on Oct 04, 2011.
  2. ^ Entry data structure in the Encyclopædia Britannica (2009) Online entry Accessed on Oct 04, 2011.
  3. ^ "PL/SQL Collections and Records". נבדק ב-2013-04-20.