Implementing a Deque