Presentation is loading. Please wait.

Presentation is loading. Please wait.

Instructor: Dr. Michael Geiger Spring 2019 Lecture 29: Linked queues

Similar presentations


Presentation on theme: "Instructor: Dr. Michael Geiger Spring 2019 Lecture 29: Linked queues"— Presentation transcript:

1 Instructor: Dr. Michael Geiger Spring 2019 Lecture 29: Linked queues
EECE.3220 Data Structures Instructor: Dr. Michael Geiger Spring 2019 Lecture 29: Linked queues

2 Announcements/reminders
Upcoming programs Program 4 to be posted; due 4/25 Program 5 to be posted; due 5/3 (last day of classes) Outstanding programs Submit P2 regrades by 4/22 (Monday) Will accept initial P3 submissions without late penalty through 4/22 4/28/2019 Data Structures: Lecture 29

3 Data Structures: Lecture 29
Lecture outline Linked queues Review of initial details Finish implementation Linked lists 4/28/2019 Data Structures: Lecture 29

4 Data Structures: Lecture 29
Review: Linked queues Implementation similar to linked list Like linked stack, insert/delete functions O(1) since each only accesses one end of list … … as long as you have pointers to each end Queue class Needs two pointers—front and back of queue 4/28/2019 Data Structures: Lecture 29

5 Review: Linked queue implementation
Construction: front = back = NULL Empty condition: front == NULL back == NULL would also work Will have to ensure this condition is true when last node dequeued Reading front of queue If non-empty, return data from front node Otherwise, declare dummy node and return data 4/28/2019 Data Structures: Lecture 29

6 Review: Linked queue implementation (2)
Enqueue algorithm Allocate new node Ensure “node before” points to new node If node is first node, front = new node address Otherwise back->next = new node address Set back = new node address 4/28/2019 Data Structures: Lecture 29

7 Finishing linked queues
Dequeue algorithm If non-empty ptr = address of front node “front” = address of second node What if there is no second node? Delete front node Destructor algorithm Visit every node and delete 4/28/2019 Data Structures: Lecture 29

8 Data Structures: Lecture 29
Final notes Next time Linked lists Templates Reminders: Program 4 to be posted; due 4/25 Program 5 to be posted; due 5/3 (last day of classes) 4/28/2019 Data Structures: Lecture 29


Download ppt "Instructor: Dr. Michael Geiger Spring 2019 Lecture 29: Linked queues"

Similar presentations


Ads by Google