בי מאסטר (Bmaster)מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
תפריט

חומרי לימוד

מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
חזרה למאגר2021 קיץ מועד א

פיצול שרשרת חוליות לשתי רשימות ממוינות

שאלה קודמתשאלה הבאה
שאלה 4מבני נתונים2021 קיץ מועד א

פיצול שרשרת חוליות לשתי רשימות ממוינות

בשאלה זו תוכל להשתמש בפעולה החיצונית שלפניך בלי לממש אותה: Java: public static Node<Integer> delete (int num, Node<Integer> lst) C#: public static Node<int> Delete (int num, Node<int> lst) הפעולה מקבלת מספר num והפניה לתחילת שרשרת חוליות lst. הפעולה מוחקת את החוליות שבהן הערך num ומחזירה הפניה לתחילת שרשרת החוליות.

נתונה המחלקה BiList דו־שרשרת, ולה שתי תכונות: lst1 ו-lst2 (הפניות לתחילת שרשרת חוליות מטיפוס שלם).

ממשק המחלקה BiList:

  • public BiList(): פעולה הבונה את העצם עם הפניות לשתי שרשראות ריקות.
  • public void addNum(int num, int codeList) / public void AddNum(int num, int codeList): פעולה המוסיפה חוליה שבה הערך num לסוף השרשרת lst1 (כאשר codeList=1) או לסוף השרשרת lst2 (כאשר codeList=2). הנח שהערך של הפרמטר codeList תקין.

כתוב פעולה חיצונית ששמה generateBilist בשפת Java או GenerateBilist בשפת C# המקבלת שרשרת חוליות lst של מספרים שלמים. מספר החוליות ב־lst זוגי והמספרים בחוליות שלה שונים זה מזה. הפעולה תחזיר עצם מטיפוס BiList שמתקיימים בו התנאים האלה:

  1. כל אחד מן המספרים שבשרשרת lst יופיע באחת מן השרשראות lst1 ו־lst2.
  2. כל המספרים בשרשרת lst1 יהיו גדולים מכל המספרים בשרשרת lst2.
  3. מספר החוליות בשתי השרשראות lst1 ו־lst2 יהיה זהה.

שים לב: אין להוסיף פעולות, גם לא פעולות get/set למחלקה BiList. הערות: אין צורך לשמור על השרשרת lst. אין חשיבות לסדר האיברים בשרשרת lst1 ובשרשרת lst2.

משימות

אמשימה אcode
שאלה 4מבני נתונים2021 קיץ מועד א

פיצול שרשרת חוליות לשתי רשימות ממוינות

בשאלה זו תוכל להשתמש בפעולה החיצונית שלפניך בלי לממש אותה: Java: public static Node<Integer> delete (int num, Node<Integer> lst) C#: public static Node<int> Delete (int num, Node<int> lst) הפעולה מקבלת מספר num והפניה לתחילת שרשרת חוליות lst. הפעולה מוחקת את החוליות שבהן הערך num ומחזירה הפניה לתחילת שרשרת החוליות.

נתונה המחלקה BiList דו־שרשרת, ולה שתי תכונות: lst1 ו-lst2 (הפניות לתחילת שרשרת חוליות מטיפוס שלם).

ממשק המחלקה BiList:

  • public BiList(): פעולה הבונה את העצם עם הפניות לשתי שרשראות ריקות.
  • public void addNum(int num, int codeList) / public void AddNum(int num, int codeList): פעולה המוסיפה חוליה שבה הערך num לסוף השרשרת lst1 (כאשר codeList=1) או לסוף השרשרת lst2 (כאשר codeList=2). הנח שהערך של הפרמטר codeList תקין.

כתוב פעולה חיצונית ששמה generateBilist בשפת Java או GenerateBilist בשפת C# המקבלת שרשרת חוליות lst של מספרים שלמים. מספר החוליות ב־lst זוגי והמספרים בחוליות שלה שונים זה מזה. הפעולה תחזיר עצם מטיפוס BiList שמתקיימים בו התנאים האלה:

  1. כל אחד מן המספרים שבשרשרת lst יופיע באחת מן השרשראות lst1 ו־lst2.
  2. כל המספרים בשרשרת lst1 יהיו גדולים מכל המספרים בשרשרת lst2.
  3. מספר החוליות בשתי השרשראות lst1 ו־lst2 יהיה זהה.

שים לב: אין להוסיף פעולות, גם לא פעולות get/set למחלקה BiList. הערות: אין צורך לשמור על השרשרת lst. אין חשיבות לסדר האיברים בשרשרת lst1 ובשרשרת lst2.

משימות

אמשימה אcode