נתונה השרשרת הבאה (ch1, מהראש לסוף):
10, 14, 12, 12, 10, 12, 14, 14
נתונות שתי הפעולות הרקורסיביות הבאות:
public static int One(Node<int> ch, int num)
{
if(ch.GetNext()!= null)
{
if(ch.GetNext().GetValue() == num)
{
ch.SetNext(ch.GetNext().GetNext());
return 1 + One(ch, num);
}
else
{
ch = ch.GetNext();
return One(ch, num);
}
}
else
return 0;
}
public static void Two(Node<int> ch)
{
if(ch != null)
{
int x = One(ch, ch.GetValue());
ch.SetNext(new Node<int> (x+1, ch.GetNext()));
ch = ch.GetNext();
Two(ch.GetNext());
}
}
(א)מה תהיה תוצאת זימון הפעולה `One(ch1, 14)`?
יש להראות מעקב ולציין שינויים בשרשרת החוליות בכל זימון רקורסיבי.
יש להראות מעקב ולציין שינויים בשרשרת החוליות בכל זימון רקורסיבי.
(ב)מה מבצעת הפעולה One באופן כללי?
(ג)עקבו אחרי זימון הפעולה `Two(ch1)` ורשמו איך תיראה השרשרת אחרי זימון.
יש להראות מעקב אחרי ביצוע הפעולה Two, אין צורך במעקב אחרי הזימונים של One.
יש להראות מעקב אחרי ביצוע הפעולה Two, אין צורך במעקב אחרי הזימונים של One.
(ד)מה מבצעת הפעולה Two באופן כללי?
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות