我想创建一个有向图,我有三个变量:String x,y,z 第一个顶点包含 3 个变量,下一个包含接下来的 3 个,直到循环结束
我有这个:
BufferedReader reader = new BufferedReader(
new StringReader(contentTextArea.getText()));
try {
str =reader.readLine();
while(str != null) {
String splitted[] = str.split("\\|");
String x = splitted[0].trim();
String y = splitted[1].trim();
String z = splitted[2].trim();
}
}
所以这段代码每次都给我 3 个字符串,我想每次都创建一个顶点和一条边,这将在最后创建一个图形。
代码可能是这样的,但是我不知道里面写什么
createVertex (String x,y,z)
,addEdge ()
方法。
public class graph {
createVertex (String x,y,z);
addEdge ();
}
最佳答案
如果你想创建一个线条,即每条线代表一个顶点,一条边由两个连续的顶点组成,你可以创建/使用一个 Vertex
类代表一个顶点和一个 Edge
具有对构成其端点的 2 个顶点的引用的类。
在您的图形类中,您可以只拥有一个顶点列表和一个边列表。
createVertex()
可以向列表中添加一个新顶点,而 addEdge()
将使用列表中的最后两个顶点创建一条边(如果至少有两个!) 并将边放入边列表中。
如果您以后有由特定顶点(即不是最后两个顶点)形成的边,您可以使用列表中每个顶点的索引来引用它们并通过这些索引定义边(即从顶点 0 到边5 可以定义为 0,5
)。
关于java - 创建有向图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5618653/