נתונה פעולה חיצונית size (Java) / Size (C#), זמינה לשימוש, המחזירה את מספר האיברים בתור בלי לשנותו.
נתונה פעולה חיצונית size (Java) / Size (C#), זמינה לשימוש, המחזירה את מספר האיברים בתור בלי לשנותו.
// פעולה נתונה (זמינה לשימוש, אין לממש):
// public static int size (Queue<Integer> q) - Java
// public static int Size (Queue<int> q) - C#
// מחזירה את מספר האיברים בתור q, בלי לשנות את התור.
שני תורים זהים (סעיף א) ודוגמת דמיון מעגלי אחרי שתי העברות (סעיף ב)
section a: q1=[6,2,8,9] q2=[6,2,8,9] (front->back) -> identical
section b: q1=[4,6,5,7] -> after 1 rotation [6,5,7,4] -> after 2 rotations [5,7,4,6] == q2
שני תורים q1,q2 "תורים זהים" אם מספר האיברים בשני התורים זהה, ושני התורים מופיעים בדיוק באותם ערכים ובאותו הסדר. כתוב פעולה חיצונית ששמה isIdentical בשפת Java או IsIdentical בשפת C#, המקבלת שני תורים מטיפוס שלם, ומחזירה true אם q1 ו-q2 זהים, אחרת מחזירה false. הערה: עם סיום הפעולה, חובה לשמור על מבנה התורים המקורי שהתקבל.
public static boolean isIdentical (Queue<Integer> q1, Queue<Integer> q2)
"העברה מההתחלה לסוף" היא העברת הערך מראש התור לסוף התור. כתוב פעולה חיצונית ששמה isSimilar בשפת Java או IsSimilar בשפת C#, המקבלת שני תורים מטיפוס שלם, ומחזירה true אם q1 ו-q2 דומים - בין אם הם זהים כמו שהם, ובין אם הם יהיו זהים לאחר שנבצע ב-q1 "העברה מההתחלה לסוף" פעם אחת או יותר, אחרת מחזירה false. הערות: חובה להשתמש בפעולה שכתבת בסעיף א; אין צורך לשמור על מבנה התורים המקורי שהתקבל.
public static boolean isSimilar (Queue<Integer> q1, Queue<Integer> q2)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.