נתונה המחלקה Patient (id, priority — 1 עד 10, ככל שגבוה יותר הדחיפות גבוהה יותר) והמחלקה PriorQueue שמחזיקה q — הפניה לתור Patient. סדר הטיפול: קודם עדיפות גבוהה יותר; באותה עדיפות — מי שהגיע קודם. הדוגמה המשמשת לאורך השאלה: [13893,7] → [28834,7] → [72890,6] → [12223,4] → [13335,4] → [33800,4] (מראש התור לסופו). שני הסעיפים משתמשים אך ורק בפעולות התור.
נתונה המחלקה Patient (id, priority — 1 עד 10, ככל שגבוה יותר הדחיפות גבוהה יותר) והמחלקה PriorQueue שמחזיקה q — הפניה לתור Patient. סדר הטיפול: קודם עדיפות גבוהה יותר; באותה עדיפות — מי שהגיע קודם. הדוגמה המשמשת לאורך השאלה: [13893,7] → [28834,7] → [72890,6] → [12223,4] → [13335,4] → [33800,4] (מראש התור לסופו). שני הסעיפים משתמשים אך ורק בפעולות התור.
public class Patient {
private int id;
private int priority; // 1..10, higher = more urgent
// Get/Set for both fields (given)
}
public class PriorQueue {
private Queue<Patient> q;
// Get/Set for q (given)
}
דוגמה לתור q (מראש התור לסופו):

ראש התור → [id=13893, priority=7] → [id=28834, priority=7] → [id=72890, priority=6] → [id=12223, priority=4] → [id=13335, priority=4] → [id=33800, priority=4] ← סוף התור
העצם p והתור לאחר ההכנסה (סעיף א):

ממשו את הפעולה שלפניכם השייכת לממשק המחלקה PriorQueue: הפעולה מקבלת חולה חדש – p ומכניסה אותו לתור q בהתאם לכללים של חדר המיון הכתובים לעיל. לדוגמה: עבור התור המוצג לעיל והעצם p שלפניכם: [id = 11210, priority = 6] התור ייראה כך לאחר ההכנסה (מראש התור לסופו): [13893, 7] → [28834, 7] → [72890, 6] → [11210, 6] → [12223, 4] → [13335, 4] → [33800, 4]
public void PriorityInsert (Patient p)
מדי פעם רמת הדחיפות של חולה מסוים משתנה במהלך שהותו בחדר המיון. ממשו את הפעולה שלפניכם השייכת לממשק המחלקה PriorQueue: הפעולה מקבלת מספר זהות של חולה הנמצא בתור – id, ומספר – pri המייצג את רמת הדחיפות המעודכנת שלו. הפעולה תעדכן את התכונה priority של החולה ותמקם אותו בתור לטיפול במקום המתאים לו (בהתאם לרמת הדחיפות המעודכנת – pri). אם בתור יש כבר חולים אחרים באותה רמת דחיפות – pri, החולה הנוכחי – id יוצב אחריהם כאילו הגיע אחריהם לחדר המיון.
public void Update (int id, int pri)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.