הגדרה:

מחסנית של מספרים שלמים וחיוביים נקראת "מחסנית תקינה עבור הספרה K", אם יש לפחות מספר אחד שמתחיל בספרה K וכל המספרים שמתחילים ב-K נמצאים ברצף ולא נמצאים באף מיקום אחר במחסנית.

לדוגמה: המחסנית שלפניכם היא "מחסנית תקינה" עבור הספרות K=2,5,9 אבל לא תקינה עבור ספרות אחרות.

⚠️ ערכי המחסנית בעמוד המקורי מוצגים כטור אנכי (תרשים מחסנית); הערכים שחולצו (סדר לא ודאי – עליון/תחתון): 31, 307, 2, 2215, 3, 900, 987, 91, 40, 37, 4, 555, 41. יש לאמת את סדר הערכים המדויק מול עמוד המקור (עמ' 3 C# / עמ' 15 Java) לפני שימוש.

(א)כתבו פעולה המקבלת מחסנית של מספרים שלמים וחיוביים st וספרה k. הפעולה תבדוק אם מחסנית היא "מחסנית תקינה" עבור ספרה זו. אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false.
כותרת הפעולה:
```csharp
public static bool IsProperK(Stack<int> st, int k)
```
(ב)כתבו פעולה המקבלת מחסנית של מספרים שלמים st וספרה k. הפעולה תבדוק אם המחסנית היא "מחסנית תקינה עבור k". אם כן – הפעולה לא תבצע דבר, ואם לא – הפעולה תשנה את סדר המספרים במחסנית כך שהיא תהיה "תקינה עבור k".
אפשר להניח שבמחסנית יש לפחות מספר אחד אשר מתחיל ב-k.
כותרת הפעולה:
```csharp
public static void FixIt(Stack<int> st, int k)
```
(ג)מהי סיבוכיות הפעולות שכתבתם בסעיפים א'–ב'? הסבירו את תשובתכם.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←