נתונות שתי הפעולות What ו-Where המקבלות הפנייה לחוליה הראשונה של שרשרת חוליות:
נתונות שתי הפעולות 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 באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.