ענה על שתיים מן השאלות 4-6 (25 נקודות לכל שאלה). בכל שאלה שנדרש בה שימוש תוכל להיעזר בפעולות המחלקות תור, מחסנית, עץ בינרי וחוליה — בלי להשתמש באוגן, אם אתה משתמש בעולות נוספות, עליך למש אותן.
ענה על שתיים מן השאלות 4-6 (25 נקודות לכל שאלה). בכל שאלה שנדרש בה שימוש תוכל להיעזר בפעולות המחלקות תור, מחסנית, עץ בינרי וחוליה — בלי להשתמש באוגן, אם אתה משתמש בעולות נוספות, עליך למש אותן.
public class TwoItems
{
private int num1;
private int num2;
public TwoItems(int number1, int number2)
{
this.num1 = number1;
this.num2 = number2;
}
// Get/Set generated for num1, num2
}
המחסנית stk1 לפני הפעולה (מהראש לתחתית): 1,6,32,5,5,7,4,9. לאחר הפעולה תיראה כך: 9,4,7,5,5,32,6,1 (א). בסעיף ב אותה stk1 מתפרקת לזוגות TwoItems: (1,9),(6,4),(32,7),(5,5) מהראש לתחתית.
stk1 (top->bottom): 1 6 32 5 5 7 4 9
כתוב פעולה חיצונית lastAndRemove ב-Java (או LastAndRemove ב-C#) המקבלת מחסנית, מוחקת את האיבר התחתון במחסנית, ומחזירה את ערכו. בסיום הפעולה האיברים האחרים במחסנית נשארים ללא שינוי. הנח שהמחסנית אינה ריקה.
public static int LastAndRemove(Stack<int> stk)
נתונה המחלקה TwoItems (שדות num1, num2; בנאי TwoItems(int number1, int number2); get/set). כתוב פעולה חיצונית stackTwoItems ב-Java (StackTwoItems ב-C#) המקבלת מחסנית stk1 שאינה ריקה, ובגודל זוגי, ומחזירה מחסנית חדשה מטיפוס TwoItems. האיבר התחתון במחסנית המוחזרת יכיל ב-num1 את האיבר התחתון שהיה במחסנית stk1, וב-num2 את האיבר התחתון שהיה מעליו... וכן הלאה, כך שהאיברים שבראש המחסנית המוחזרת של TwoItems הם שני איברים סמוכים באמצע המחסנית stk1. עליך להיעזר בפעולה שכתבת בסעיף א. אין צורך לשמור על התוכן המקורי של מחסנית stk1.
public static Stack<TwoItems> StackTwoItems(Stack<int> stk1)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.