Summary
In this chapter, you learned the basic definition of the queue data structure, including how to initialize concrete implementations of the structure in each of the four languages we are discussing. Next, we discussed the most common operations associated with the queue data structure and their operational cost. We examined an example application using queues to track customers waiting in a first-come, first-served line. These examples demonstrated how C# and Java provided concrete implementations of a queue, whereas Objective-C and Swift do not. Following this, we examined the three most common types of queue implementations, including array-based, linked-list based, and heap-based queues. Finally, we looked at double-ended and priority variations of the queue data structure.