פעולה 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<Integer> f, Node<Integer> s)
{
Stack<Integer> st = new Stack<Integer>();
while(s!=null)
{
st.push(s.getValue());
s = s.getNext();
}
while(f!=null && !st.isEmpty() && (st.pop()==f.getValue()))
{
System.out.print(f.getNext()+", ");
f = f.getNext();
}
System.out.println("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).
סעיף ג
מה מבצעת הפעולה באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.