Presentation is loading. Please wait.

Presentation is loading. Please wait.

Queues and Priority Queue Implementations

Similar presentations


Presentation on theme: "Queues and Priority Queue Implementations"— Presentation transcript:

1 Queues and Priority Queue Implementations
CS Data Structures Mehmet H Gunes Modified from authors’ slides

2 Content Implementations of the ADT Queue
An Implementation of the ADT Priority Queue Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

3 An Implementation That Uses the ADT List
View Listing 14-1 header for class ListQueue Note implementation, Listing 14-2 An implementation of the ADT queue that stores its entries in a list Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

4 A Link-Based Implementation
An implementation of the ADT queue that stores its entries in a list Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

5 A Link-Based Implementation
A circular chain of linked nodes with one external pointer Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

6 A Link-Based Implementation
View header file for class LinkedQueue, Listing 14-3 The enqueue method to insert a new node Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

7 A Link-Based Implementation
Adding an item to a nonempty queue Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

8 A Link-Based Implementation
Adding an item to an empty queue: (a) before enqueue; (b) after enqueue Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

9 A Link-Based Implementation
Definition for the method enqueue Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

10 A Link-Based Implementation
Definition of the method dequeue Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

11 A Link-Based Implementation
Removing an item from a queue of more than one item Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

12 A Link-Based Implementation
Removing an item from a queue of more than one item Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

13 An Array-Based Implementation
Possible (naïve) definition Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

14 An Array-Based Implementation
(a) A naive array-based implementation of a queue; (b) rightward drift can cause the queue to appear full Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

15 An Array-Based Implementation
A circular array as an implementation of a queue Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

16 An Array-Based Implementation
The effect of three consecutive operations on the queue Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

17 An Array-Based Implementation
(a) front passes back when the queue becomes empty; Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

18 An Array-Based Implementation
(b) back catches up to front when the queue becomes full Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

19 An Array-Based Implementation
The header file for the class ArrayQueue, Listing 14-4 View implementation file, Listing 14-5 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

20 Variation of Circular Queue
A more time-efficient circular implementation: (a) a full queue; (b) an empty queue Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013

21 Implementation of the ADT Priority Queue
View header file, Listing 14-6 Note add and remove functions Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013


Download ppt "Queues and Priority Queue Implementations"

Similar presentations


Ads by Google