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