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

נתונה פעולה חיצונית Size, זמינה לשימוש, המחזירה את מספר האיברים בתור בלי לשנותו.

// פעולה נתונה (זמינה לשימוש, אין לממש):
// public static int Size (Queue<int> q)
// מחזירה את מספר האיברים בתור 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 המקבלת שני תורים מטיפוס שלם, ומחזירה true אם q1 ו-q2 זהים, אחרת מחזירה false. הערה: עם סיום הפעולה, חובה לשמור על מבנה התורים המקורי שהתקבל.

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

סעיף ב

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

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

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

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

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

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