אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2021 · קיץ מועד א · שאלה 7כל שאלות המבחן ←
מבנים לינארייםתורים

נתונה פעולה חיצונית 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 bool IsIdentical (Queue<int> q1, Queue<int> q2)

סעיף ב

"העברה מההתחלה לסוף" היא העברת הערך מראש התור לסוף התור. כתוב פעולה חיצונית ששמה isSimilar בשפת Java או IsSimilar בשפת C#, המקבלת שני תורים מטיפוס שלם, ומחזירה true אם q1 ו-q2 דומים - בין אם הם זהים כמו שהם, ובין אם הם יהיו זהים לאחר שנבצע ב-q1 "העברה מההתחלה לסוף" פעם אחת או יותר, אחרת מחזירה false. הערות: חובה להשתמש בפעולה שכתבת בסעיף א; אין צורך לשמור על מבנה התורים המקורי שהתקבל.

public static bool IsSimilar (Queue<int> q1, Queue<int> q2)

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי