使用JS构建图代码:
function Graph(v) {
this.vertices = v; //设置顶点数为v
this.edges = 0; //边的数目
this.adj = []; //邻接矩阵,可看作边表
for (var i = 0; i < this.vertices; ++i){
this.adj[i] = [];
this.adj[i].push(" ");
}
this.addEdge = addEdge;this.showGraph = showGraph;
this.toString = toString;
}
function addEdge(v,w) {
this.adj[v].push(w);
this.adj[w].push(v);
this.edges++;
}
function showGraph() {
for (var i = 0;i < this.vertices; ++i){
var temp = i + " ->";
for (var j = 0; j < this.vertices; ++j){
if(this.adj[i][j] != undefined){
temp += this.adj[i][j] + ' ';
}
}
console.log(temp)
}
}
var g = new Graph(5);
g.addEdge(0,1);
g.addEdge(0,2);
g.addEdge(1,3);
g.addEdge(2,4);
g.showGraph()
输出结果: