נתונות שתי הפעולות What ו-Where המקבלות הפנייה לחוליה הראשונה של שרשרת חוליות:
public static Node<int> What(Node<int> chain, int x){
while(chain!=null && chain.GetValue()% x == 0){
chain = chain.GetNext();
}
if(chain == null)
return null;
Node<int> p = chain;
Node<int> p1 = p.GetNext();
while(p1 != null){
if(p1.GetValue()% x == 0)
{
p.SetNext(p1.GetNext());
p1.SetNext(null);
p1 = p.GetNext();
}
else
{
p = p1;
p1 = p1.GetNext();
}
}
return chain;
}
public static void Where(Node<int> chain){
Node<int> p = chain;
while(p != null) {
p.SetNext(What(p.GetNext(),p.GetValue()));
p = p.GetNext();
}
}
נתונה שרשרת חוליות הבאה:
chain: 4, 20, 5, 7, 8, 4, 6, 18
(א)עקבו אחרי זימון הפעולה What(chain, 4) ורשמו מה תחזיר הפעולה.
(ב)מה מבצעת הפעולה What באופן כללי?
(ג)עקבו אחרי זימון הפעולה Where(chain) ורשמו איך תיראה השרשרת אחרי ביצוע. אין צורך במעקב אחרי זימון הפעולה What.
(ד)האם אפשר לשנות סדר חוליות בשרשרת chain כך ששרשרת לא תשתנה אחרי זימון הפעולה Where? אם כן – רשמו את השרשרת אחרי שינוי, אם לא – הסבירו למה אי אפשר לבצע שינוי כזה.
(ה)מה מבצעת הפעולה Where באופן כללי?
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות