פורסם 2011 בספטמבר 714 שנים מחבר ^^^ הערך הנקלט נשמר בחוליה חדשה. בחוליה זו יש הפניה לחוליה האחרונה הנוכחית. ערך התכונה LAST משתנה, וכעת היא מצביעה על האיבר שהתווסף.(או שאני שוב טועה...)
פורסם 2011 בספטמבר 714 שנים זה אכן מה שהקוד שלך עושה, אבל זה לא מה שהוא צריך לעשות (כלומר, זה לא מתאים לציור שלך). מי מצביע על מי לפי הקוד שלך? מי מצביע על מי בציור?
פורסם 2011 בספטמבר 714 שנים מחבר הטעות בציור. החצים צריכים להיות לכיוון הצד השני. ו-FIRST צריך להיות NULL ולא LAST. (ככה זה יהיה כמו הקוד).
פורסם 2011 בספטמבר 714 שנים דווקא הציור שלך בסדר. זה הקוד שלך שלא נכון.איך הגיוני ש-first יהיה null אבל last לא? תחשוב על זה לוגית - יכולה להיות רשימה עם איבר אחרון אבל בלי איבר ראשון?
פורסם 2011 בספטמבר 814 שנים מחבר ^^^ הבנתי מה אתר אומר. שיניתי את הפעולה INSERT, עכשיו זה טוב?? Node<T> temp = new Node<T>(x); this.last.SetNext(temp); this.last = temp;
פורסם 2011 בספטמבר 814 שנים עכשיו תחשוב על טיפול במקרי קצה (איך עושים insert או remove אם הרשימה ריקה?)
פורסם 2011 בספטמבר 814 שנים מחבר נראה לי שהצלחתי public void Insert(T x) { Node<T> temp = new Node<T>(x); if (this.first == null) { this.first = temp; this.last = temp; } else { this.last.SetNext(temp); this.last = temp; } } public T Remove() { if (this.first != null) { T temp = this.first.GetInfo(); this.first = this.first.Getnext(); return temp; } else return default(T); } שמתי לב שבפעולה REM OVE. ה- DEFAULT מחזיר 0 אם המחסנית ריקה. אז איך משתמש שינסה להוציא חוליה ממחסנית ריקה, ידע שהמחסנית ריקה?(הוא יכול לחשוב שהוא הוציא איבר שהערך שלו זה 0.) תודה רבה לכולם על העזרה במיוחד לשניצל :yelclap: . בלעדיכם הייתי מתייאש מזה מזמןן
פורסם 2011 בספטמבר 814 שנים יפה מאוד.שמתי לב שבפעולה REM OVE. ה- DEFAULT מחזיר 0 אם המחסנית ריקה. אז איך משתמש שינסה להוציא חוליה ממחסנית ריקה, ידע שהמחסנית ריקה?(הוא יכול לחשוב שהוא הוציא איבר שהערך שלו זה 0.) צודק. הפתרון הוא להשתמש בחריגות (exceptions). אם לא למדת על זה עדיין, אז חכה שתגיע לנושא ואז תבין.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.