מבוא למדעי המחשב��רשימה מקושרת
בס"ד
צביקה ברגר
רשימה מקושרת
בס"ד
Head
next
value
next
value
next
value
next
value
NULL
יצירת רשימה מקושרת
בס"ד
Head
NULL
יצירת איבר
בס"ד
next
value
הכנסה
בס"ד
הכנסה לראש הרשימה
בס"ד
הכנסה לסוף הרשימה
בס"ד
הכנסה לאמצע הרשימה
בס"ד
מחיקה
בס"ד
מחיקת האיבר הראשון
בס"ד
מחיקת האיבר האחרון
בס"ד
מחיקת איבר באמצע
בס"ד
חיפוש
בס"ד
הדפסת כל הרשימה
בס"ד
מחיקת כל הרשימה
בס"ד
תרגיל 1 - הפיכת רשימה
בס"ד
הפיכת רשימה
כתוב תוכנית שהופכת רשימה מקושרת
בס"ד
הפיכת רשימה
בס"ד
הרעיון:
נאתחל עוד פוינטר temp בתחילת הרשימה.
כל פעם Head יתקדם ויחליף את המצביע ל-temp.
לאחר מכן, temp יתקדם למקום של Head.
הפיכת רשימה
בס"ד
temp
Head
next
value
next
value
next
value
next
value
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
next
value
next
value
next
value
next
value
NULL
Head
temp
NULL
הפיכת רשימה
בס"ד
NULL
next
value
next
value
next
value
next
value
Head
temp
הפיכת רשימה - איטרטיבי
בס"ד
הפיכת רשימה - רקורסיבי
בס"ד
תרגיל 2 – מציאת אמצע ברשימה
בס"ד
תרגיל 2 - מציאת אמצע ברשימה
כתוב תוכנית שמוצאת את האיבר האמצעי ברשימה מקושרת
בס"ד
Head
NULL
תרגיל 2 - מציאת אמצע ברשימה
הרעיון:
נאתחל שני פוינטרים p1, p2 בתחילת הרשימה.
P1 כל פעם יקפוץ לאיבר הבא.
P2 יקפוץ 2 איברים קדימה.
כאשר p2 מגיע לאיבר האחרון, p1 נמצא באיבר האמצעי.
בס"ד
תרגיל 2 - מציאת אמצע ברשימה
בס"ד
Head
NULL
p1
p2
תרגיל 2 - מציאת אמצע ברשימה
בס"ד
Head
NULL
p1
p2
תרגיל 2 - מציאת אמצע ברשימה
בס"ד
Head
NULL
p1
p2
תרגיל 2 - מציאת אמצע ברשימה
בס"ד
שאלות?
בס"ד