// output of ./demo/ds/queue-demo.cc: // Description: //% Demo of the queue (FIFO) data structure. arg 1: 4 == n [Initial size of queue] default=4 push( 1) 1 - - - #=1 r=0 w=1 push( 2) 1 2 - - #=2 r=0 w=2 push( 3) 1 2 3 - #=3 r=0 w=3 push( 4) 1 2 3 4 #=4 r=0 w=0 push( 5) 1 2 3 4 5 - - - #=5 r=0 w=5 push( 6) 1 2 3 4 5 6 - - #=6 r=0 w=6 push( 7) 1 2 3 4 5 6 7 - #=7 r=0 w=7 pop== 1 - 2 3 4 5 6 7 - #=6 r=1 w=7 pop== 2 - - 3 4 5 6 7 - #=5 r=2 w=7 push( 8) - - 3 4 5 6 7 8 #=6 r=2 w=0 pop== 3 - - - 4 5 6 7 8 #=5 r=3 w=0 pop== 4 - - - - 5 6 7 8 #=4 r=4 w=0 push( 9) 9 - - - 5 6 7 8 #=5 r=4 w=1 pop== 5 9 - - - - 6 7 8 #=4 r=5 w=1 pop== 6 9 - - - - - 7 8 #=3 r=6 w=1 push(10) 9 10 - - - - 7 8 #=4 r=6 w=2 pop== 7 9 10 - - - - - 8 #=3 r=7 w=2 pop== 8 9 10 - - - - - - #=2 r=0 w=2 push(11) 9 10 11 - - - - - #=3 r=0 w=3 pop== 9 - 10 11 - - - - - #=2 r=1 w=3 pop==10 - - 11 - - - - - #=1 r=2 w=3 push(12) - - 11 12 - - - - #=2 r=2 w=4 pop==11 - - - 12 - - - - #=1 r=3 w=4 pop==12 - - - - - - - - #=0 r=4 w=4 push(13) - - - - 13 - - - #=1 r=4 w=5 pop==13 - - - - - - - - #=0 r=5 w=5 pop== 0 - - - - - - - - #=0 r=5 w=5 (queue was empty) push(14) - - - - - 14 - - #=1 r=5 w=6 pop==14 - - - - - - - - #=0 r=6 w=6 pop== 0 - - - - - - - - #=0 r=6 w=6 (queue was empty) push(15) - - - - - - 15 - #=1 r=6 w=7