Java Reference
In-Depth Information
/ ** Array-basedstackimplementation * /
classAStack<E>implementsStack<E>{
privatestaticfinalintdefaultSize=10;
privateintmaxSize; //Maximumsizeofstack
privateinttop; //IndexfortopObject
privateE[]listArray; //Arrayholdingstack
/ ** Constructors * /
AStack(){this(defaultSize);}
@SuppressWarnings("unchecked")//Genericarrayallocation
AStack(intsize){
maxSize=size;
top=0;
listArray=(E[])newObject[size]; //CreatelistArray
}
/ ** Reinitializestack * /
publicvoidclear(){top=0;}
/ ** Push"it"ontostack * /
publicvoidpush(Eit){
asserttop!=maxSize:"Stackisfull";
listArray[top++]=it;
}
/ ** Removeandtopelement * /
publicEpop(){
asserttop!=0:"Stackisempty";
returnlistArray[--top];
}
/ ** @returnTopelement * /
publicEtopValue(){
asserttop!=0:"Stackisempty";
returnlistArray[top-1];
}
/ ** @returnStacksize * /
publicintlength(){returntop;}
Figure4.19 Array-based stack class implementation.
Search WWH ::




Custom Search