נתונה פעולה חיצונית נתונה delete (זמינה לשימוש, אין לממש) המוחקת חוליה עם ערך נתון משרשרת. נתונה גם המחלקה BiList - דו-שרשרת, ולה שתי תכונות: lst1 ו-lst2, שתיהן הפניות לתחילת שרשרת חוליות מטיפוס שלם. לפניך ממשק חלקי של המחלקה (בונה + addNum) - זמין לשימוש; אסור להוסיף לו get/set או פעולות נוספות.
נתונה פעולה חיצונית נתונה delete (זמינה לשימוש, אין לממש) המוחקת חוליה עם ערך נתון משרשרת. נתונה גם המחלקה BiList - דו-שרשרת, ולה שתי תכונות: lst1 ו-lst2, שתיהן הפניות לתחילת שרשרת חוליות מטיפוס שלם. לפניך ממשק חלקי של המחלקה (בונה + addNum) - זמין לשימוש; אסור להוסיף לו get/set או פעולות נוספות.
// פעולה נתונה (זמינה לשימוש, אין לממש):
// public static Node<Integer> delete (int num, Node<Integer> lst)
// מוחקת את החוליה שבה הערך num משרשרת lst, ומחזירה מצביע לתחילת השרשרת.
// נתונה המחלקה BiList - דו-שרשרת, ולה שתי תכונות:
// lst1 - הפניה לתחילת שרשרת חוליות מטיפוס שלם
// lst2 - הפניה לתחילת שרשרת חוליות מטיפוס שלם
// לפניך ממשק חלקי (זמין לשימוש, אין להוסיף לו get/set או פעולות נוספות):
public BiList () // בונה עצם עם שתי שרשראות ריקות
public void addNum (int num, int codeList) // מוסיפה חוליה עם הערך num לסוף lst1 (אם codeList=1) או לסוף lst2 (אם codeList=2)
שרשרת lst ופיצולה ל-lst1 (המחצית הגדולה) ו-lst2 (המחצית הקטנה), כפי שמודגם בשאלון
lst: 88 -> -9 -> 0 -> 10 -> 6 -> 13 -> null
BiList result:
lst1: 88 -> 10 -> 13 -> null
lst2: -9 -> 0 -> 6 -> null
כתוב פעולה חיצונית ששמה generateBilist בשפת Java או GenerateBilist בשפת C#, המקבלת שרשרת חוליות lst - זוגית מספר החוליות, מטיפוס שלם - ומחזירה עצם מטיפוס BiList שבו: כל אחד מהמספרים שב-lst שייך לאחת מהשרשראות lst1 או lst2; כל המספרים ב-lst1 גדולים מכל המספרים ב-lst2; מספר החוליות בשתי השרשראות זהה. שים לב: אין להוסיף פעולות, גם לא get/set, למחלקה BiList.
public static BiList generateBilist (Node<Integer> lst)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.