Professional Documents
Culture Documents
Chapter 10 Queues and Stacks
Chapter 10 Queues and Stacks
ראשי פרקים
❖ תור
❖ תור דו-ראשי
❖ מחסנית
❖ נושאים נוספים
הממשק Queue
תור
הממשק Queue
מטפורת התור
• לתור יש חזית ,ראש ,קדמת התור ,התחלת התורfront ,
• לתור יש עורף ,זנב ,אחורי התור ,סוף התורrear ,
הממשק Queue
מטפורת התור
• הוספה לסוף התור
• איברים נוספים לזנב התור
• הוצאה מתחילת תור
• איברים מוצאים מראש התור
הממשק Queue
• מייצג תור
• מי שנכנס קודם יוצא קודם
• מסודר לפי סדר "הגעה"
• כלומר ,לפי סדר כניסה
• FIFO
• First In, First Out
• זוהי מדיניות התור
הממשק Queue
מחלקות מממשות
• מחלקות מממשות
• ArrayDeque
• LinkedList
queue.add("apple"); // [apple]
queue.add("banana"); // [apple, banana]
queue.add("cherry"); // [apple, banana, cherry]
queue.add("apple"); // [apple]
queue.add("banana"); // [apple, banana]
queue.add("cherry"); // [apple, banana, cherry]
❖ תור דו-ראשי
❖ מחסנית
❖ נושאים נוספים
הממשק Deque
תור דו-ראשי
הממשק Deque
מטפורת התור הדו-ראשי
• לתור דו-ראשי ,יש גם ראש וגם זנב בכל צד
• ניתן להכניס ולהוציא איברים מכל אחד מהצדדים
הממשק Deque
• מייצג תור דו-ראשי
deque.addFirst("apple"); // [apple]
deque.addLast("banana"); // [apple, banana]
deque.addFirst("cherry"); // [cherry, apple, banana]
deque.addFirst("apple"); // [apple]
deque.addLast("banana"); // [apple, banana]
deque.addFirst("cherry"); // [cherry, apple, banana]
❖ תור דו-ראשי
❖ מחסנית
❖ נושאים נוספים
מחסניתStack ,
הערת פתיחה :מחסנית בג'אווה
• בג'אווה ישנה מחלקה בשם מחסנית – Stack
• השימוש במחלקה Stackכמימוש למחסנית אינה מומלצת
Operation Description
Push Add an element to the top of a stack
Pop Remove an element from the top of a stack
Peek Get the value of the top element without removing it
stack.push("awesome");
// Stack: awesome
// is
// Java
stack.push("awesome");
// Stack: awesome
// is
// Java
❖ תור דו-ראשי
❖ מחסנית
❖ נושאים נוספים
נושאים נוספים
בחירת reference type
• יש להגדיר את ה reference typeלפי מה המבנה הנדרש
• תור רגיל Queue --
• תור דו-ראשי Deque --
queue.add("apple"); stack.push("apple");
queue.add("banana"); stack.push("banana");
queue.add("cherry"); stack.push("cherry");
❖ תור דו-ראשי
❖ מחסנית
❖ נושאים נוספים
סוף הפרק!
הפרק הבא :קבוצות ומיפויים