/** * */ package dataStructures1112; /** * @author rm.cruz * */ public class InvertibleQueueClass extends QueueInList implements InvertibleQueue { private static final long serialVersionUID = 1L; private boolean isInverted; public InvertibleQueueClass() { super(); isInverted = false; } @Override public void enqueue(E element) { if (isInverted) list.addFirst(element); else list.addLast(element); } @Override public E dequeue() throws EmptyQueueException { if (isInverted) return list.removeLast(); else return list.removeFirst(); } @Override public void invert() { isInverted = !isInverted; } }