-- init(2)
capacity=2, used=0, head=0, tail=0
[ ] [ ]

-- push(1)
capacity=2, used=1, head=0, tail=1
[1] [ ]

-- push(2)
capacity=2, used=2, head=0, tail=0
[1] [2]

-- push(3)
capacity=4, used=3, head=2, tail=1
[3] [ ] [1] [2]

-- push(4)
capacity=4, used=4, head=2, tail=2
[3] [4] [1] [2]

-- push(5)
capacity=8, used=5, head=6, tail=3
[3] [4] [5] [ ] [ ] [ ] [1] [2]

-- push(6)
capacity=8, used=6, head=6, tail=4
[3] [4] [5] [6] [ ] [ ] [1] [2]

-- shift() = 1
capacity=8, used=5, head=7, tail=4
[3] [4] [5] [6] [ ] [ ] [ ] [2]

-- shift() = 2
capacity=8, used=4, head=0, tail=4
[3] [4] [5] [6] [ ] [ ] [ ] [ ]

-- shift() = 3
capacity=8, used=3, head=1, tail=4
[ ] [4] [5] [6] [ ] [ ] [ ] [ ]

-- shift() = 4
capacity=8, used=2, head=2, tail=4
[ ] [ ] [5] [6] [ ] [ ] [ ] [ ]

-- shift() = 5
capacity=8, used=1, head=3, tail=4
[ ] [ ] [ ] [6] [ ] [ ] [ ] [ ]

-- shift() = 6
capacity=8, used=0, head=4, tail=4
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]

-- shift() = NULL
capacity=8, used=0, head=4, tail=4
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]

-- push(7)
capacity=8, used=1, head=4, tail=5
[ ] [ ] [ ] [ ] [7] [ ] [ ] [ ]

-- shift() = 7
capacity=8, used=0, head=5, tail=5
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
