נתונה הפעולה הבאה:
נתונה הפעולה הבאה:
public static void What(Stack<int> s)
{
Stack<int> temp1 = new Stack<int>();
Stack<int> temp2 = new Stack<int>();
while(!s.IsEmpty())
{
int x = s.Pop();
bool 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());
}
⚠️ בסמוך לקוד (בעמודה ימנית) מופיע תרשים מחסנית-דוגמה שערכיו נבלעו בשכבת הטקסט ליד השורות
push/Push. הערכים שחולצו בסדר (ככל הנראה מלמעלה למטה של המחסנית): 4, 6, 3, 1, 4, 1, 4, 1 — יש לאמת מול ה-PDF (עמ' 4 Java / עמ' 14 C#) לפני שימוש.
סעיף א
נתונה מחסנית s (ראו התרשים ⚠️ מעל). מה יהיה התוכן של המחסנית s אחרי זימון הפעולה What(s) עבור המחסנית s? יש להראות מעקב אחרי ביצוע הפעולה What.
סעיף ב
תנו דוגמה למחסנית s המכילה לפחות חמישה ערכים כך שתוכן המחסנית לא ישתנה אחרי זימון הפעולה What(s).
סעיף ג
מה מבצעת הפעולה What(s) עבור מחסנית של מספרים שלמים s?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.