תרגול מדעי המחשב

היפוך תור בעזרת מחסנית

מאתגר C#

המשימה

כתוב פעולה שמקבלת תור והופכת את סדר איבריו.

דוגמה:
  [1,2,3]  →  [3,2,1]

הנחיות:
• תור לבדו לא יכול להפוך את עצמו — הוא FIFO. מחסנית היא LIFO,
  וזה בדיוק ההבדל שפותר את התרגיל.
• רוקן את התור לתוך מחסנית, ואז החזר מהמחסנית לתור.
• הפעולה אינה מחזירה ערך — היא משנה את התור שהתקבל.

ממשק מבני הנתונים כבר מצורף למשימה — גם Queue וגם Stack.

```ds:queue
{"title":"לפני","items":["1","2","3"]}
```

```ds:stack
{"title":"באמצע — אחרי שרוקנת את התור לתוך מחסנית. שים לב מי בראש","items":["1","2","3"]}
```

```ds:queue
{"title":"אחרי","items":["3","2","1"]}
```

קוד הפתיחה

using System;

class Program {

    static void ReverseQueue(Queue<int> q) {
        // כתוב את הפתרון כאן — השתמש במחסנית
    }

    static void Main() {
        Queue<int> q = new Queue<int>();
        q.Insert(1);
        q.Insert(2);
        q.Insert(3);

        Console.WriteLine(q);   // [1,2,3]
        ReverseQueue(q);
        Console.WriteLine(q);   // [3,2,1]

        Queue<int> empty = new Queue<int>();
        ReverseQueue(empty);
        Console.WriteLine(empty);   // []
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא ספירת איברים בתור
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.