אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2022 · קיץ מועד ב · שאלה 5כל שאלות המבחן ←
מבנים לינארייםמחסניות

פעולה 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).

סעיף ג

מה מבצעת הפעולה באופן כללי?

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי