סעיף א
נתונה פעולה רקורסיבית 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 באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.