Class QueueNode{

Public Object nodeObject;

Public QueueNode previousNode;

Public QueueNode frontNode;

}

 

Public Class Queue{

Private QueueNode front = null;

Private QueueNode back = null;

 

Public void add (Object objectToPush){

QueueNode node = new QueueNode;

node.previousNode = null;

node.frontNode = back;

node.nodeObject = objectToPush;

this.back = node;

}

 

Public Object remove(){

QueueObject temp = front;

This.front = temp.previousNode;

Return temp.nodeObject;

}