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

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

מאתגר Java

המשימה

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

דוגמה:
  [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"]}
```

קוד הפתיחה

public class Main {

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

    public static void main(String[] args) {
        Queue<Integer> q = new Queue<Integer>();
        q.insert(1);
        q.insert(2);
        q.insert(3);

        System.out.println(q);   // [1,2,3]
        reverseQueue(q);
        System.out.println(q);   // [3,2,1]

        Queue<Integer> empty = new Queue<Integer>();
        reverseQueue(empty);
        System.out.println(empty);   // []
    }
}

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

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