פעולה what בונה מחסנית st מכל ערכי s (מהראש של s ועד סופה), ואז משווה, איבר-איבר מהראש של f, מול מה שנשלף (pop) מ-st — כלומר מול s בכיוון ההפוך (מסופה להתחלתה). כל עוד יש התאמה, מדפיסה ומתקדמת ב-f; בסיום מדפיסה STOP!.
פעולה what בונה מחסנית st מכל ערכי s (מהראש של s ועד סופה), ואז משווה, איבר-איבר מהראש של f, מול מה שנשלף (pop) מ-st — כלומר מול s בכיוון ההפוך (מסופה להתחלתה). כל עוד יש התאמה, מדפיסה ומתקדמת ב-f; בסיום מדפיסה STOP!.
public static void What(Node<int> f, Node<int> s)
{
Stack<int> st = new Stack<int>();
while(s!=null)
{
st.Push(s.GetValue());
s = s.GetNext();
}
while(f!=null && !st.IsEmpty() && (st.Pop()==f.GetValue()))
{
Console.Write(f.GetNext()+", ");
f = f.GetNext();
}
Console.WriteLine("STOP!");
}
ארבע השרשראות a,b,c,d (מהראש לסוף) — פוענחו מתמונת עמוד 7 (java) / עמוד 19 (csharp) ברזולוציה 300-400dpi, כל ספרה אומתה.
a: 17 → -5 → 1 → 1 → 2 → 17 → -5 → 1
b: 1 → -5 → 17 → 2 → 5 → 6
c: 1 → -5 → 17 → 0 → 2 → 3 → 6
d: 17 → -5 → 1 → 1 → 2 → 8 → -5 → 1
סעיף א
עקבו אחרי זימון הפעולה what(a, b) ורשמו מה יהיה הפלט של הזימון. יש להציג את המעקב!
סעיף ב
עקב זימון הפעולה what התקבל הפלט (משמאל לימין): 1, -5, 17, STOP! אילו פרמטרים נשלחו לפעולה? יש לבחור זוג פרמטרים מתוך ארבע השרשרות הנתונות (a, b, c, d).
סעיף ג
מה מבצעת הפעולה באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.