המשימה
כתוב פעולה שמקבלת מחסנית של מספרים שלמים וערך x, ומסירה מהמחסנית
את **כל** המופעים של x — כשכל שאר האיברים נשארים בסדר המקורי שלהם.
הפעולה משנה את המחסנית שהתקבלה ואינה מחזירה ערך.
דוגמה:
[4,7,4,1] (4 בראש), x=4 → [7,1] (7 בראש)
הנחיות:
• רוקן למחסנית עזר ודלג על האיברים שערכם x.
• אחרי ההעברה הראשונה הסדר בעזר הפוך. העברה שנייה בחזרה מתקנת אותו.
• pop על מחסנית ריקה זורק שגיאת ריצה — בדוק isEmpty לפני.
• אם כל האיברים הוסרו, המחסנית תישאר ריקה. זה תקין.
ממשק מבני הנתונים כבר מצורף למשימה.
```ds:stack
{"title":"לפני — x = 4","items":["1","4","7","4"]}
```
```ds:stack
{"title":"אחרי","items":["1","7"]}
```
קוד הפתיחה
public class Main {
public static void removeValue(Stack<Integer> st, int x) {
// כתוב את הפתרון כאן — הסדר של מה שנשאר חייב להישמר
}
public static void main(String[] args) {
Stack<Integer> st = new Stack<Integer>();
st.push(1);
st.push(4);
st.push(7);
st.push(4);
System.out.println(st); // [4,7,4,1]
removeValue(st, 4);
System.out.println(st); // [7,1]
removeValue(st, 100);
System.out.println(st); // [7,1] — ללא שינוי
removeValue(st, 7);
removeValue(st, 1);
System.out.println(st); // []
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.