נתונה הפעולה הבאה what, מה מבצעת הפעולה?
נתונה הפעולה הבאה what, מה מבצעת הפעולה?
public static int what(Node<Integer> ch){
int c = 0;
while(ch != null)
{
c++;
ch = ch.getNext();
}
return c;
}
סעיף א
מה מבצעת הפעולה?
סעיף ב
נתונה הפעולה why המשתמשת בפעולה what, מה תחזיר הפעולה why(ch1, ch2), עבור שתי שרשרות החוליות הבאות: יש להראות מעקב אחרי ביצוע הפעולה why. אין צורך במעקב אחרי what.
public static boolean why(Node<Integer> ch1, Node<Integer> ch2) {
int len1 = what(ch1);
int len2 = what(ch2);
for(int i = 0; i < len1-len2; i++)
{
ch1 = ch1.getNext();
}
while(ch1!=null)
{
if(ch1.getValue() != ch2.getValue())
return false;
ch1 = ch1.getNext();
ch2 = ch2.getNext();
}
return true;
}
ch1 → 10 → 7 → 14 → 5 → 7 → 2 → 4 → null
ch2 → 5 → 7 → 1 → 4 → null
סעיף ג
תנו דוגמה של שרשרת ch3 באורך ארבע חוליות, באופן שבו זימון הפעולה why(ch1, ch3) יחזיר ערך שונה מזה שהוחזר בסעיף ב'.
סעיף ד
תנו דוגמה של שרשרת ch4 באורך ארבע חוליות, באופן שבו זימון הפעולה why(ch4, ch1) יחזיר ערך true. אם אי אפשר ליצור שרשרת כזאת, הסבירו למה.
סעיף ה
מה מבצעות הפעולות why(ch1,ch2) ו- what(ch) באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.