(א)נתונה פעולה רקורסיבית one הבאה:
```java
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`
```java
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 הבאה:
```java
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)` ורשמו איך תיראה השרשרת אחרי ביצוע הפעולה.
```java
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:
```java
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 באופן כללי?
```java
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 באופן כללי?
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות