我正在製作一個從文件加載圖形的方法。這非常簡單,但如果有重複的頂點,該方法也會插入到圖中,所以我試圖避免這種情況。如何知道圖中是否存在頂點?
這是我當前的代碼:
public static Graph<ElementoDecorado<Integer>, String> loadGraphFromFile(File f) {
boolean v1_exists = false, v2_exists = false;
Graph<ElementoDecorado<Integer>, String> g = new AdjacencyListGraph<ElementoDecorado<Integer>, String>();
Vertex<ElementoDecorado<Integer>> v1, v2, aux = null;
Scanner fr;
try {
fr = new Scanner(f);
while(fr.hasNextLine()) {
v1 = g.insertVertex(new ElementoDecorado<Integer>(fr.nextInt()));
v2 = g.insertVertex(new ElementoDecorado<Integer>(fr.nextInt()));
for(Vertex<ElementoDecorado<Integer>> v : g.vertices()) {
if(v.equals(v1)) {
/*aux = v;
v1_exists = true;*/
}
if(v.equals(v2)) {
/*aux = v;
v2_exists = true;*/
}
}
g.insertEdge(v1, v2, "edge");
v1_exists = v2_exists = false;
}
} catch(FileNotFoundException e) {
e.printStackTrace();
}
return g;
}
我不知道寫什麼到兩個IFS。我試圖刪除頂點,如果他們是平等的,但顯然這是行不通的,因爲最後我的圖將是空的:S
This is the manual page爲頂點接口。
任何幫助,歡迎。 謝謝,聖誕快樂!
的文檔是非常差的,但它是'graph.insertEdge( v1,v2,o)'如果需要,應該添加頂點。該文件沒有提到實際發生的事情。 – toto2
我想圖表可以有許多具有相同整數的頂點。但是你想限制每個整數的單個頂點。 – toto2
這可能是首先要檢查的問題,找出它是否是這樣。 –