Java Reference
In-Depth Information
/ ** Linkedqueueimplementation * /
classLQueue<E>implementsQueue<E>{
privateLink<E>front; //Pointertofrontqueuenode
privateLink<E>rear; //Pointertorearqueuenode
intsize; //Numberofelementsinqueue
/ ** Constructors * /
publicLQueue(){init();}
publicLQueue(intsize){init();}//Ignoresize
/ ** Initializequeue * /
privatevoidinit(){
front=rear=newLink<E>(null);
size=0;
}
/ ** Reinitializequeue * /
publicvoidclear(){init();}
/ ** Putelementonrear * /
publicvoidenqueue(Eit){
rear.setNext(newLink<E>(it,null));
rear=rear.next();
size++;
}
/ ** Removeandreturnelementfromfront * /
publicEdequeue(){
assertsize!=0:"Queueisempty";
Eit=front.next().element();//Storedequeuedvalue
front.setNext(front.next().next());//Advancefront
if(front.next()==null)rear=front;//LastObject
size--;
returnit;
//ReturnObject
}
/ ** @returnFrontelement * /
publicEfrontValue(){
assertsize!=0:"Queueisempty";
returnfront.next().element();
}
/ ** @returnQueuesize * /
publicintlength(){returnsize;}
Figure4.28 Linked queue class implementation.
Search WWH ::




Custom Search