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

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

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

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

public static int one(Node<Integer> 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<Integer> ch)
{
    if(ch != null)
    {
        int x = one(ch, ch.getValue());
        ch.setNext(new Node<Integer> (x+1, ch.getNext()));
        ch = ch.getNext();
        two(ch.getNext());
    }
}
סעיף א

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

סעיף ב

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

סעיף ג

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

סעיף ד

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

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

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

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

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