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

נתונה השרשרת הבאה (ch1, מהראש לסוף):

10, 14, 12, 12, 10, 12, 14, 14

נתונות שתי הפעולות הרקורסיביות הבאות:

public static int One(Node<int> ch, int num)
{
    if(ch.GetNext()!= null)
    {
        if(ch.GetNext().GetValue() == num)
        {
            ch.SetNext(ch.GetNext().GetNext());
            return 1 + One(ch, num);
        }
        else
        {
            ch = ch.GetNext();
            return One(ch, num);
        }
    }
    else
        return 0;
}
public static void Two(Node<int> ch)
{
    if(ch != null)
    {
        int x = One(ch, ch.GetValue());
        ch.SetNext(new Node<int> (x+1, ch.GetNext()));
        ch = ch.GetNext();
        Two(ch.GetNext());
    }
}
סעיף א

מה תהיה תוצאת זימון הפעולה One(ch1, 14)? יש להראות מעקב ולציין שינויים בשרשרת החוליות בכל זימון רקורסיבי.

סעיף ב

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

סעיף ג

עקבו אחרי זימון הפעולה Two(ch1) ורשמו איך תיראה השרשרת אחרי זימון. יש להראות מעקב אחרי ביצוע הפעולה Two, אין צורך במעקב אחרי הזימונים של One.

סעיף ד

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

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

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

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

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