Question: Implementation of a Deque (Linked-List) in java, Is this correct? public class Deque implements DequeInterface { protected DLLNode front; protected DLLNode back; protected int numelements

Implementation of a Deque (Linked-List) in java, Is this correct?

public class Deque implements DequeInterface {

protected DLLNode front; protected DLLNode back; protected int numelements = 0; public void enqueueFront(T element) throws QueueOverflowException { DLLNode ft = new DLLNode<>(element); ft.setForward(front); if(isEmpty()) front = ft; numelements++; }

@Override public void enqueueRear(T element) throws QueueOverflowException { DLLNode bk = new DLLNode<>(element); bk.setBack(back); if(isEmpty()) back = bk; numelements++; }

@Override public T dequeueFront() throws QueueUnderflowException { if(isEmpty()) { throw new QueueUnderflowException("There is nothing in the front of the queue"); } else { numelements--; DLLNode frontnode = front.getForward(); T temp = frontnode.getInfo(); if(frontnode != null) frontnode.setBack(null); return temp; } }

@Override public T dequeueRear() throws QueueUnderflowException { if(isEmpty()) { throw new QueueUnderflowException("There is nothing in the rear of the queue"); } else { numelements--; DLLNode rearnode = back.getBack(); T temp = rearnode.getInfo(); if(rearnode != null) rearnode.setBack(null); return temp; } }

@Override public boolean isFull() { return false; }

@Override public boolean isEmpty() { return (back == null || front == null); }

@Override public int size() { return numelements; } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!