אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2025 · אביב מועד א · שאלה 5כל שאלות המבחן ←
מבנים לינארייםתורים

נתונה הפעולה הבאה:

public static void What(Queue<int> q)
{
    int num1, num2;
    bool found;
    Queue<int> temp1 = new Queue<int>();
    Queue<int> temp2 = new Queue<int>();
    while(!q.IsEmpty())
    {
        num1 = q.Remove();
        found = false;
        while(!q.IsEmpty())
        {
            num2 = q.Remove();
            if(num1 == num2)
                found = true;
            temp1.Insert(num2);
        }
        while(!temp1.IsEmpty())
            q.Insert(temp1.Remove());
        if(!found)
            temp2.Insert(num1);
    }
    while(!temp2.IsEmpty())
        q.Insert(temp2.Remove());
}
סעיף א

נתון תור q הבא (מהראש לזנב): 5, 8, 2, 5, 5, 7, 3

מה יהיה התוכן של התור q אחרי זימון הפעולה What(q) עבור התור q? יש להראות מעקב אחרי ביצוע הפעולה.

סעיף ב

תנו דוגמה לתור q המכיל לפחות חמישה ערכים כך שתוכן התור לא ישתנה אחרי זימון הפעולה What(q). אם לא ניתן ליצור תור כזה, יש להסביר מדוע.

סעיף ג

תנו דוגמה לתור q המכיל לפחות חמישה ערכים כך שאחרי זימון הפעולה What(q) התור יהיה ריק. אם לא ניתן ליצור תור כזה, יש להסביר מדוע.

סעיף ד

מה מבצעת הפעולה What(q) עבור תור של מספרים שלמים q?

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי