נתונה השרשרת הבאה (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 באופן כללי?

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←