1procedure enqueue(Q: queue, value)
2 Q.rear ← Q.rear + 1
3 Q[Q.rear] ← value
4
5procedure dequeue(Q: queue)
6 if Q.front > Q.rear then error "underflow"
7 value ← Q[Q.front]
8 Q.front ← Q.front + 1
9 return value
10
11procedure peek(Q: queue)
12 return Q[Q.front]