רשימה מקושרת של XOR – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה |
מאין תקציר עריכה |
||
שורה 1:
'''רשימה מקושרת של XOR''' היא [[רשימה מקושרת]] דו כיוונית אשר מנצלת את פעולת ה[[XOR לוגי|XOR]] על מנת לחסוך בזיכרון. בזמן שברשימה מקושרת דו כיוונית רגילה נדרשים שני משתנים אשר מחזיקים את ה[[כתובות|כתובת]] של האיבר הקודם ושל האיבר הבא (כפי שמוצג בתרשים הבא):
[[
ברשימה מקושרת של XOR, המידע של שני השדות שמורים במשתנה כתובת בודד, אשר שומר את ערך ה - XOR המתקבל מהכתובת הקודמת והכתובת הבאה בתור (כפי שמוצג בתרשים הבא):
[[
לדוגמה, כאשר עוברים על הרשימה משמאל לימין, אם אנו נמצאים בתא B, אנו ניקח את הכתובת של התא הקודם - A - ונבצע עליו פעולת XOR יחד עם הערך שנמצא במשתנה בתא B. כתוצאה מהפעולה, נקבל את כתובת התא C ונוכל להמשיך לעבור על הרשימה. בדומה, אם נלך מהכיוון ההפוך, אנו ניקח את הכתובת של תא C ונפעיל עליו פעולת XOR יחד עם הערך שנמצא במשתנה בתא B, כדי לקבל את כתובת A.
|