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

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

public static void What(Stack<int> st, bool flag)
{
    int x, y;
    bool found;
    Stack<int> temp1 = new Stack<int>();
    Stack<int> temp2 = new Stack<int>();
    while(!st.IsEmpty())
    {
        x = st.Pop();
        found = false;
        while(!st.IsEmpty())
        {
            y = st.Pop();
            if(x > y == flag)
                found = true;
            temp1.Push(y);
        }
        while(!temp1.IsEmpty())
            st.Push(temp1.Pop());
        if(!found)
            temp2.Push(x);
    }
    while(!temp2.IsEmpty())
        st.Push(temp2.Pop());
}
סעיף א

נתונה המחסנית st (8 נמצא בראש המחסנית, מהראש למטה): 8, 9, 2, 9, 3, 10, 7, 10

מה יהיה התוכן של המחסנית st אחרי זימון הפעולה What(st, true) עבור המחסנית st? יש להראות מעקב אחרי ביצוע הפעולה.

סעיף ב

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

סעיף ג

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

סעיף ד

מה מבצעת הפעולה What(Stack<int> st, bool flag) באופן כללי?

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

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

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

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