Java Reference
In-Depth Information
/ ** Graph:Adjacencymatrix * /
classGraphmimplementsGraph{
privateint[][]matrix; //Theedgematrix
privateintnumEdge; //Numberofedges
publicint[]Mark;
//Themarkarray
publicGraphm(){}
//Constructors
publicGraphm(intn){
Init(n);
}
publicvoidInit(intn){
Mark=newint[n];
matrix=newint[n][n];
numEdge=0;
}
publicintn(){returnMark.length;}//#ofvertices
publicinte(){returnnumEdge;} //#ofedges
/ ** @returnv'sfirstneighbor * /
publicintfirst(intv){
for(inti=0;i<Mark.length;i++)
if(matrix[v][i]!=0)returni;
returnMark.length;//Noedgeforthisvertex
}
/ ** @returnv'snextneighborafterw * /
publicintnext(intv,intw){
for(inti=w+1;i<Mark.length;i++)
if(matrix[v][i]!=0)
returni;
returnMark.length;//Nonextedge;
}
/ ** Settheweightforanedge * /
publicvoidsetEdge(inti,intj,intwt){
assertwt!=0:"Cannotsetweightto0";
if(matrix[i][j]==0)numEdge++;
matrix[i][j]=wt;
}
/ ** Deleteanedge * /
publicvoiddelEdge(inti,intj){//Deleteedge(i,j)
if(matrix[i][j]!=0)numEdge--;
matrix[i][j]=0;
}
/ ** Determineifanedgeisinthegraph * /
publicbooleanisEdge(inti,intj)
{returnmatrix[i][j]!=0;}
Figure11.6 An implementation for the adjacency matrix implementation.
Search WWH ::




Custom Search