PFDS 8.4.1
- 2. Stack
cons
tail
Queue
tail snoc
- 3. Deque
cons snoc
tail init
Output-Restricted Deque
cons snoc
tail
- 4. banker’s queue
snoc ((lenf, f, lenr, r), x)
= check (lenf, f, lenr + 1, $CONS(x, r))
cons (x, (lenf, f, lenr, r))
= (lenf + 1, $CONS(x, f), lenr, r)
- 5. real-time queue
snoc ((f, r, s), x) = exec (f, x :: r, s)
cons (x, (f, r, s))
= ($CONS(x, f), r, $CONS(x, s))