שאלה 1

בדואר ישראל יש תור לקבלת שירותי דלפק: אשנ"ב כל בו ניתן לקבל שירות כמו שליחת דואר, רכישת כרטיס ויזה נטען ועוד.
על פי החוק אזרחים מעל גיל 80 כולל, פטורים מתור, כל שאר היתר עומדים לפי סדר הגעתם.

לקוח של הדואר מזין את הפרטים הבאים:

שם וגיל.

א. בנו מחלקה מתאימה עבור לקוח (כוללת את כל חמשת היסודות של מחלקה(= שם מחלקה באות גדולה, תכונות, בנאי, getters and setters ו toString),

ב. בנו מחלקה אשר תנהל את התור בדואר: חישבו על התכונות בעצמכם.
הוסיפו את הפעולות הבאות:

פעולה ראשונה: הוספת לקוח לתור

פעולה שנייה: קריאה ללקוח (הדפסה) לפי שמו והסרתו מהתור.

ג. הריצו דוגמה באמצעות פונקציית main ובה סדר ההגעה:
אזרח בן 23
אזרח בן 82

אזרח בן 34

לאחר מכן בצעו קריאה ללקוח ארבע פעמים.

שאלה 2

ממשו את הפעולה removeDuplicates. הפעולה מקבלת תור של מספרים שלמים ומסירה ממנו את הערכים הכפולים. כל ערך יישאר בתור המופע הראשון שלו. תוכלו להשתמש בכל מבנה נתונים אחר שלמדנו (תור).

כתבו כהערה בראש הפעולה מה יעילות הפעולה כפונקציה של מספר האיברים בתור המקורי.

פונקציית עזר שיכולות לסייע:

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

פונקציה שמשכפלת תור

יש ליצור תור לדוגמה, להריץ עליו את זה, ולהדפיס את התור לפני ואחרי.