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

סעיף א

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

public static void One(Node<int> n){
    if(n!=null)
    {
        if(n.GetValue()% 2==0)
        {
            n.SetNext(new Node<int> (0,n.GetNext()));
            n = n.GetNext();
        }
        One(n.GetNext());
    }
}

עקבו אחרי זימון הפעולה One(chain) ורשמו איך תיראה השרשרת אחרי ביצוע הפעולה.

chain → 10 → 12 → 5 → 3 → 6 → 1 → 4

סעיף ב

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

סעיף ג

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

public static void Two(Node<int> n){
    if(n.GetNext()!=null)
    {
        if(n.GetNext().GetValue()%2 == 0)
            n.SetNext(n.GetNext().GetNext());
        else
            n=n.GetNext();
        Two(n);
    }
}

עקבו אחרי זימון הפעולה Two(chain) ורשמו איך תיראה השרשרת אחרי ביצוע הפעולה.

סעיף ד

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

סעיף ה

נתונה הפעולה Three המשתמשת בפעולה Two:

public static Node<int> Three(Node<int>n){
    if(n == null) return null;
    if(n.GetValue()%2 == 0)
        return Three(n.GetNext());
    else
    {
        Two(n);
        return n;
    }
}

מה יהיה תוכן הרשימה chain אחרי ביצוע הפקודה הבאה: chain = Three(chain);

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

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

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

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

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