在這個實例中,我們將用Java實現(xiàn)圖形數(shù)據(jù)結(jié)構(gòu)。
class Graph {
//內(nèi)部類
class Edge {
int src, dest;
}
//頂點和邊的數(shù)量
int vertices, edges;
//存儲所有邊的數(shù)組
Edge[] edge;
Graph(int vertices, int edges) {
this.vertices = vertices;
this.edges = edges;
//初始化邊數(shù)組
edge = new Edge[edges];
for(int i = 0; i < edges; i++) {
//邊數(shù)組的每一個元素
//是Edge類型的對象
edge[i] = new Edge();
}
}
public static void main(String[] args) {
//創(chuàng)建一個Graph類的對象
int noVertices = 5;
int noEdges = 8;
Graph g = new Graph(noVertices, noEdges);
//創(chuàng)建圖
g.edge[0].src = 1; // edge 1---2
g.edge[0].dest = 2;
g.edge[1].src = 1; // edge 1---3
g.edge[1].dest = 3;
g.edge[2].src = 1; // edge 1---4
g.edge[2].dest = 4;
g.edge[3].src = 2; // edge 2---4
g.edge[3].dest = 4;
g.edge[4].src = 2; // edge 2---5
g.edge[4].dest = 5;
g.edge[5].src = 3; // edge 3---4
g.edge[5].dest = 4;
g.edge[6].src = 3; // edge 3---5
g.edge[6].dest = 5;
g.edge[7].src = 4; // edge 4---5
g.edge[7].dest = 5;
//打印圖表
for(int i = 0; i < noEdges; i++) {
System.out.println(g.edge[i].src + " - " + g.edge[i].dest);
}
}
}輸出結(jié)果
1 - 2 1 - 3 1 - 4 2 - 4 2 - 5 3 - 4 3 - 5 4 - 5

在上面的示例中,我們已經(jīng)用Java實現(xiàn)了圖形數(shù)據(jù)結(jié)構(gòu)。