跳到主要内容

Java程序实现图数据结构

要理解这个例子,你需要了解以下 Java 编程 主题:

示例:实现图数据结构

class Graph {

// 内部类
// 用于跟踪边
class Edge {
int src, dest;
}

// 顶点和边的数量
int vertices, edges;

// 用于存储所有边的数组
Edge[] edge;

Graph(int vertices, int edges) {
this.vertices = vertices;
this.edges = edges;

// 初始化边数组
edge = new Edge[edges];
for(int i = 0; i < edges; i++) {

// 边数组的每个元素
// 都是 Edge 类型的对象
edge[i] = new Edge();
}
}

public static void main(String[] args) {

// 创建 Graph 类的对象
int noVertices = 5;
int noEdges = 8;
Graph g = new Graph(noVertices, noEdges);

// 创建图
g.edge[0].src = 1; // 边 1---2
g.edge[0].dest = 2;

g.edge[1].src = 1; // 边 1---3
g.edge[1].dest = 3;

g.edge[2].src = 1; // 边 1---4
g.edge[2].dest = 4;

g.edge[3].src = 2; // 边 2---4
g.edge[3].dest = 4;

g.edge[4].src = 2; // 边 2---5
g.edge[4].dest = 5;

g.edge[5].src = 3; // 边 3---4
g.edge[5].dest = 4;

g.edge[6].src = 3; // 边 3---5
g.edge[6].dest = 5;

g.edge[7].src = 4; // 边 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);
}

}
}

输出

1 - 2
1 - 3
1 - 4
2 - 4
2 - 5
3 - 4
3 - 5
4 - 5

Java 中的图数据结构,有 5 个节点

在上面的示例中,我们在 Java 中实现了图数据结构。要了解更多关于图的信息,请访问 图数据结构