פעולה המקבלת מחסנית של מספרים שלמים, ומסדרת אותה מחדש כך שאיברים הגדולים מהממוצע יישמרו בחלק העליון, ואיברים קטנים או שווים לממוצע יישמרו בחלק התחתון.
דוגמה: מחסנית 5,7,10,2,12,6 (ראש..תחתית); ממוצע=7=(5+7+10+2+12+6)/6. אחרי הפעולה: 10,12,7,6,2,5 (ראש..תחתית) — 10,12 (גדולים מ-7) בחלק העליון; 7,6,2,5 (קטנים או שווים ל-7) בחלק התחתון. הסדר בתוך כל חלק אינו משנה
לפני (ראש..תחתית): 5, 7, 10, 2, 12, 6
אחרי (ראש..תחתית): 10, 12, 7, 6, 2, 5
סעיף א
כתבו פעולה המקבלת מחסנית של מספרים שלמים. הפעולה תמיין מחדש את האיברים במחסנית לפי הסדר הבא: איברים הגדולים מממוצע האיברים במחסנית יישמרו בחלק העליון של המחסנית, ואילו איברים קטנים או שווים לממוצע האיברים במחסנית יישמרו בחלק התחתון.
public static void ReorderByAverage(Stack<int> s)
סעיף ב
מהי הסיבוכיות של הפעולה שכתבתם בסעיף א'? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.