Java Reference
In-Depth Information
/ ** Adjacencylistgraphimplementation * /
classGraphlimplementsGraph{
privateGraphList[]vertex; //Thevertexlist
privateintnumEdge; //Numberofedges
publicint[]Mark;
//Themarkarray
publicGraphl(){}
publicGraphl(intn) //Constructor
{Init(n);}
publicvoidInit(intn){
Mark=newint[n];
vertex=newGraphList[n];
for(inti=0;i<n;i++)
vertex[i]=newGraphList();
numEdge=0;
}
publicintn(){returnMark.length;}//#ofvertices
publicinte(){returnnumEdge;} //#ofedges
/ ** @returnv'sfirstneighbor * /
publicintfirst(intv){
if(vertex[v].length()==0)
returnMark.length; //Noneighbor
vertex[v].moveToStart();
Edgeit=vertex[v].getValue();
returnit.vertex();
}
/ ** @returnv'snextneighborafterw * /
publicintnext(intv,intw){
Edgeit=null;
if(isEdge(v,w)){
vertex[v].next();
it=vertex[v].getValue();
}
if(it!=null)
returnit.vertex();
returnMark.length;//Noneighbor
}
Figure11.7 An implementation for the adjacency list.
Search WWH ::




Custom Search