Imagine you are at a busy bakery where customers line up to buy fresh bread. The bakery serves customers in the order they arrive: the first person to get in line is the first to be served, and new customers join at the end of the line. This is exactly how a queue works in computing -- it follows the first-in, first-out rule, often called FIFO. Just like the bakery line, the first item added to the queue is the first one to be removed or processed.
Queues (first-in, first-out) in Intro to Computing - Real World Applications
| Computing Concept | Real-World Equivalent |
|---|---|
| Queue | Line of customers waiting at a bakery |
| First-In, First-Out (FIFO) | First customer in line is served first |
| Enqueue (adding item) | New customer joins the end of the line |
| Dequeue (removing item) | Customer at the front of the line is served and leaves |
| Queue size limit | Limited space in the bakery line (only so many customers can wait) |
One morning, you arrive at the bakery and see 5 people already waiting. You join the end of the line. As the bakery serves each customer, the line moves forward. The first person who arrived gets served first, then the second, and so on. When the baker finishes serving the 5th person, it's your turn because you were the 6th to join. If the bakery only allows 10 people in line, and the line is full, new customers must wait outside until someone leaves the line.
While the bakery line is a good analogy, it doesn't show some technical details of queues. For example, in computing, queues can be implemented in different ways (like arrays or linked lists), which affects how fast items can be added or removed. Also, unlike a bakery line, computer queues can be empty or full instantly without physical waiting. Finally, some queues allow priority customers to skip the line, which breaks the strict FIFO rule.
In our bakery line analogy, what would it mean if a new customer is allowed to cut in front of everyone else?