דילוג לתוכן הראשי

אג 7.10.2020 ד' - הדפסת האחרון בתור והדפסת תור בסדר הפוך

בכיתה
1. הדפסת האחרון בתור. דוגמה, דיון, פתרון.
2. הדפסת התור בסדר הפוך. ראו השאלה כאן, רמז1 כאן, פתרון כאן.
3. תרגיל כיתה: הפעולה CopyQueue.
4. הדגמה של מערך אובייקטים על מערך עצמים מטיפוס Student.
    שימו לב: כל עצם יהיה מטיפוס Student, המערך עצמו הוא מטיפוס []Student.
    ראו פרויקט הדוגמה שהודגם בכיתה כאן.

לבית
1. כתבו פעולה בשם CopyQueue המקבלת שני פרמטרים:
    א. תור שלמים בשם q (לא ריק).
    ב. תור שלמים בשם dest (ריק).
    הפעולה תעתיק את כל האיברים מהתור q לתור השני dest.
2. כתבו פעולה בשם PrintReversed המקבלת תור שלמים
    ומדפיסה אותו בסדר הפוך. יש לשמור על מבנה התור המקורי.
    ראו השאלה, רמז, פתרון בסעיף 2 למעלה.
3. מערך אובייקטים: בצעו את סעיף 160 בדף קישורים:
    תרגיל ArrayNClasses drill01 (התרגיל מתבסס על מחלקת Employee).

בשיעור הבא
1. תרגילים נוספים בנושא תור.
    א. כתבו פעולה בשם IsInSequence המקבלת תור גנרי וערך מטיפוס התור.
        הפעולה תחזיר 'אמת' אם הערך מופיע בתור - ברצף הגדול מ- 1, אחרת - 'שקר'.
        עזרה בהבנת השאלה: חשבו על "תאומים צמודים". שימו לב שהספרה 5 מופיעה פעמיים ברצף,
        ולכן עונה על השאלה ומחזירה 'אמת'. הספרה 2 לא מופיעה פעמיים או יותר ברצף, ולכן
        במקרה זה יוחזר 'שקר'.

        לדוגמה, אם התור וזימון הפעולה נראים כך:

--> 1, 2, 4, 3, 4, 5, 5, 1, 2, 1, 1.

Console.WriteLine(IsInSequence(q, 2); //false
Console.WriteLine(IsInSequence(q, 5); //true

        חתימת הפעולה:
public static bool IsInSequence<T>(Queue<T> q, T x)
2. תרגיל נוסף בנושא מערך אובייקטים.