(א)הגדרה 1: תור "מושלם N" הוא תור של מספרים שלמים המכיל את כל המספרים שבין 1 ל-N (כולל).
לדוגמה: התור הבא הוא תור מושלם של 5 אבל לא תור מושלם של 7 (כי מספר 6 אינו מופיע בתור).
`4, 5, 3, 15, 2, 4, 1, 7` (מהראש לזנב)
כתבו פעולה `public static bool IsPerfectN(Queue<int> q, int n)` המקבלת תור של מספרים שלמים q ומספר שלם וחיובי n. הפעולה תבדוק אם תור הוא "תור מושלם של n". אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false.
```csharp
public static bool IsPerfectN(Queue<int> q, int n)
```
לדוגמה: התור הבא הוא תור מושלם של 5 אבל לא תור מושלם של 7 (כי מספר 6 אינו מופיע בתור).
`4, 5, 3, 15, 2, 4, 1, 7` (מהראש לזנב)
כתבו פעולה `public static bool IsPerfectN(Queue<int> q, int n)` המקבלת תור של מספרים שלמים q ומספר שלם וחיובי n. הפעולה תבדוק אם תור הוא "תור מושלם של n". אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false.
```csharp
public static bool IsPerfectN(Queue<int> q, int n)
```
(ב)הגדרה 2: תור "סופר מושלם N" הוא תור של מספרים שלמים המכיל את כל המספרים שבין 1 ל-N (כולל) ורק אותם.
כתבו פעולה `public static void DoItSuper(Queue<int> q, int n)` המקבלת תור של מספרים שלמים q ומספר שלם וחיובי n. הפעולה מורידה מתור ערכים מיותרים ומוסיפה בסוף התור ערכים חסרים, כך שיתקבל תור "סופר מושלם n".
אם לפני זימון הפעולה התור q היה (מהראש לזנב):
`4, 5, 3, 15, 2, 4, 1, 7`
אז אחרי ביצוע זימון הפעולה `DoItSuper(q, 9)` התור q יהיה (מהראש לזנב):
`4, 5, 3, 2, 4, 1, 7, 6, 8, 9`
```csharp
public static void DoItSuper(Queue<int> q, int n)
```
כתבו פעולה `public static void DoItSuper(Queue<int> q, int n)` המקבלת תור של מספרים שלמים q ומספר שלם וחיובי n. הפעולה מורידה מתור ערכים מיותרים ומוסיפה בסוף התור ערכים חסרים, כך שיתקבל תור "סופר מושלם n".
אם לפני זימון הפעולה התור q היה (מהראש לזנב):
`4, 5, 3, 15, 2, 4, 1, 7`
אז אחרי ביצוע זימון הפעולה `DoItSuper(q, 9)` התור q יהיה (מהראש לזנב):
`4, 5, 3, 2, 4, 1, 7, 6, 8, 9`
```csharp
public static void DoItSuper(Queue<int> q, int n)
```
(ג)מהן הסיבוכיות של הפעולות שכתבתם בסעיפים א'–ב'? הסבירו את תשובתכם.
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות