
/**A double-side queue implemented with a singly-linked list
 * @author CIS121 Staff
 *
 * @param <K>
 */
public class MyDeque<K>{

	/**Constructor
	 * @param list the head of a singly-linked list (a {@link SinglyLinkedList}
	 * object)
	 */
	public MyDeque(SinglyLinkedList<K> list){
        /*YOUR CODE HERE*/
	}

	/**Add an element to the front of this Deque
	 * @param k the element to add
	 */
	public void addFront(K k){
        /*YOUR CODE HERE*/
	}

	/**Add an element to the rear of this list
	 * @param k
	 */
	public void addRear(K k){
        /*YOUR CODE HERE*/
	}

	/**Remove and return the front element (dequeue)
	 * @return the front element of this deque
	 */
	public K removeFront(){
        /*YOUR CODE HERE*/
		return null;
	}

	/**Remove and return the last element
	 * @return the last element in this deque
	 */ 
	public K removeRear(){
        /*YOUR CODE HERE*/
		return null;
	}

	/** Returns the number of elements in this deque
	 * @return the number of elements in this deque
	 */
	public int size(){
        /*YOUR CODE HERE*/
		return -1;
	}

}
