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

שכפול מחסנית

בינוני Java

המשימה

כתוב פעולה שמקבלת מחסנית של מספרים שלמים ומחזירה **מחסנית חדשה**
זהה לה — אותם ערכים, באותו סדר.

בסוף הפעולה המחסנית המקורית חייבת להיות במצבה ההתחלתי.

דוגמה:
  מקורית [5,1,8] (5 בראש)  →  מוחזרת [5,1,8], והמקורית נשארת [5,1,8]

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

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

```ds:stack
{"title":"המקורית — והעותק חייב לצאת זהה לה","items":["8","1","5"]}
```

קוד הפתיחה

public class Main {

    public static Stack<Integer> copyStack(Stack<Integer> st) {
        // כתוב את הפתרון כאן — המקורית חייבת לחזור למצבה
        return new Stack<Integer>();
    }

    public static void main(String[] args) {
        Stack<Integer> st = new Stack<Integer>();
        st.push(8);
        st.push(1);
        st.push(5);

        Stack<Integer> c = copyStack(st);

        System.out.println(st);   // [5,1,8]  — ללא שינוי
        System.out.println(c);    // [5,1,8]

        c.push(99);
        System.out.println(st);   // [5,1,8]  — העותק נפרד

        System.out.println(copyStack(new Stack<Integer>()));  // []
    }
}

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

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