נתונות שתי הפעולות what ו-where המקבלות הפנייה לחוליה הראשונה של שרשרת חוליות:
נתונות שתי הפעולות what ו-where המקבלות הפנייה לחוליה הראשונה של שרשרת חוליות:
public static Node<Integer> what(Node<Integer> chain, int x){
while(chain!=null && chain.getValue()% x == 0){
chain = chain.getNext();
}
if(chain == null)
return null;
Node<Integer> p = chain;
Node<Integer> 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<Integer> chain){
Node<Integer> 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 באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.