סעיף א
נתונה פעולה רקורסיבית one הבאה:
public static void one(Node<Integer> n){
if(n!=null)
{
if(n.getValue()% 2==0)
{
n.setNext(new Node<Integer> (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<Integer> 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<Integer> three(Node<Integer>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 באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.