פורסם 2003 במרץ 922 שנים שלום...זאת הפעם הראשונה שאני פונה לעזרה פה בפורום...פשוט אני התייאשתי...אני הסתדרתי עם שאר הפונקציות של הרשימה...ועם שתיים נתקעתי...לפי הממשק של הרשימה הפונקציות מוגדרות כך:הוצא מרשימה (L, p) - פעולה המוציאה מן הרשימה L את האיבר הנמצא בה במקום p. לאחר ההוצאה נמצא במקום p האיבר שהיה עוקב לזה שהוצא מהרשימה.אחזר מרשימה (L, p) - פעולה המחזירה את האיבר הנמצא במקום p ברשימה.*ההנחות הן שהרשימה לא ריקה, והמקום p קיים ברשימה.הרשימה שלי מוגדרת כך:struct list {int num;list *next};list *head;אני יודעת שזה די ארוך, אבל אודה לכם אם תוכלו לעזור לי...
פורסם 2003 במרץ 922 שנים לא למדתי C, אבל הנה קוד ב-JAVA (אותו עקרון) : class Link { public int iData; //data item (key) public double dData; //data item public Link next; //next link in list //------------------------------------------------------------------- public Link (int id, double dd) //constructor { iData=id; //initialize data dData=dd; //(next is automatically set to null) } //-------------------------------------------------------------------- public void displayLink() //display ourself { System.out.print({ + iData + , + dData + } ); } } //end class Link //insert at start of list public void insert(int id, double dd) { // make new link Link newLink = new Link(id, dd); newLink.next = first; //newLink --> old first first = newLink ; // first --> newLink } public Link delete(int key) { Link current = first; // start at first Link previous = first; while (current.iData != key) { if ( current.next == null) return null; else previous = current; current = current.next; } if (current = first) // if still at beginning first = current.next; else previous.next = current.next; } return current; } //find an item in the Linkled List public Link find(int key) { Link current = first; // start at first while (current.iData != key) { if ( current.next == null) return null; else current = current.next; } return current; } בהצלחה.
פורסם 2003 במרץ 1022 שנים מחבר קודם כל...תודה לך על הטירחה...אבל אני לא ממש יודעת JAVA... :-\...ככה שזה לא ממש עזר...בכל אופן...הצלחתי לפתור את הבעיה לבד אחרי כמה שעות של חשיבה מאומצת...
פורסם 2003 במרץ 1022 שנים קודם כל...תודה לך על הטירחה...אבל אני לא ממש יודעת JAVA... :-\...ככה שזה לא ממש עזר...בכל אופן...הצלחתי לפתור את הבעיה לבד אחרי כמה שעות של חשיבה מאומצת...ככה צריך ! ;Dאל תחפשי מישהו שיעשה לך את התרגיל. תנסי לבד. זו הדרך הטובה ביותר ללמוד.במידה וניסית, ובכל זאת נתקעת, אנשים פה ישמחו לתת לך כוונים למחשבה ולפתרון. חבל לפספס הזדמנות ללמוד רק כי רוצים לסיים את התרגיל כמה שיותר מהר.הדוגמה בJAVA שניתנה פה אינה מתאימה כלל ל C משתי סיבות - האחת, היא מניחה שאת עובדת ב ++C ולא C. דבר שני - בJAVA אין מצביעים (יש, אבל לא משתמשים בהם) וב C יש להשתמש במצביעים על מנת לממש רשימה מקושרת פשוטה.נשמח אם תעלי לפה את הפתרון לבעיתך, על מנת שעוד אנשים יוכלו ללמוד מהנסיון שלך.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.