נתונה הפעולה הבאה:
נתונה הפעולה הבאה:
public static void what(Stack<Integer> s)
{
Stack<Integer> temp1 = new Stack<Integer>();
Stack<Integer> temp2 = new Stack<Integer>();
while(!s.isEmpty())
{
int x = s.pop();
boolean found = false;
while(!s.isEmpty())
{
int y =s.pop();
if(x < y)
found = true;
temp1.push(y);
}
while(!temp1.isEmpty())
s.push(temp1.pop());
if(!found)
temp2.push(x);
}
while(!temp2.isEmpty())
s.push(temp2.pop());
}
נתונה המחסנית s הבאה (מראש המחסנית לתחתיתה):
s (top→bottom): 4, 6, 3, 1, 4, 1, 4, 1
סעיף א
נתונה מחסנית s (ראו מעל). מה יהיה התוכן של המחסנית s אחרי זימון הפעולה what(s) עבור המחסנית s? יש להראות מעקב אחרי ביצוע הפעולה what.
סעיף ב
תנו דוגמה למחסנית s המכילה לפחות חמישה ערכים כך שתוכן המחסנית לא ישתנה אחרי זימון הפעולה what(s).
סעיף ג
מה מבצעת הפעולה what(s) עבור מחסנית של מספרים שלמים s?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.