Algorithmsqueue simulation
Queue Simulation — Real-World Lines
TT
Testlaa Team
May 14, 2026•1 min read
Model ticket counters or print jobs with enqueue/dequeue; random service times become simulations on top of FIFO order.
Try this in Python
from collections import deque
def serve( arrivals: list[tuple[int, int]]) -> list[tuple[int, int]]:
"""(time, job_id) arrivals served FIFO."""
q: deque[tuple[int, int]] = deque()
done: list[tuple[int, int]] = []
t = 0
i = 0
while i < len(arrivals) or q:
while i < len(arrivals) and arrivals[i][0] <= t:
q.append(arrivals[i])
i += 1
if q:
at, jid = q.popleft()
t = max(t, at) + 2
done.append((t, jid))
else:
t = arrivals[i][0]
return done
print(serve([(0, 1), (0, 2), (1, 3)]))
Key takeaways
- Time jumps forward when the queue is idle.
- FIFO ordering is preserved even with variable processing.
- Great practice for discrete-event thinking.
Tags:
Stacks & queuesPythonStudents
