public void PushBack(T val) { var addition = new DequeElement <T>(val, back.front, back); back.front.back = addition; back.front = addition; count++; }
public void PushFront(T val) { var addition = new DequeElement <T>(val, front, front.back); front.back.front = addition; front.back = addition; count++; }
public Deque() { front = new DequeElement <T>(); back = new DequeElement <T>(); front.front = front; front.back = back; back.front = front; back.back = back; count = 0; }
public DequeElement(T _val, DequeElement <T> _front, DequeElement <T> _back) { val = _val; front = _front; back = _back; }