findVertexByID() implementiert

This commit is contained in:
2021-01-18 15:38:25 +01:00
parent 28ec0827cc
commit b1a8191637
5 changed files with 42 additions and 2 deletions

View File

@@ -109,7 +109,33 @@ public class Breitensuche {
// Nutze dazu die Hilfsmethode getVertexFromListByID, um aus
// Liste der Nachbarknoten denjenigen, der alphabetisch als
// erstes kommt herauszusuchen.
if(g.getVertex("Köln").getID().equals(pVertexID)){
System.out.println("Köln gefunden");
return true;
} else {
g.getVertex("Köln").setMark(true);
searchQueue.enqueue(g.getVertex("Köln"));
while(!searchQueue.isEmpty()){
Vertex v = searchQueue.front();
List<Vertex> cngbrs=copyList(g.getNeighbours(v));
cngbrs.toFirst();
while(cngbrs.hasAccess()){
Vertex vs = getVertexFromListByID(cngbrs);
if(!vs.isMarked()){
System.out.println(vs.getID());
if(vs.getID().equals(pVertexID)){
System.out.println(vs.getID() +" gefunden");
return true;
}
vs.setMark(true);
searchQueue.enqueue(vs);
}
}
searchQueue.dequeue();
}
}
System.out.println(pVertexID +" Nicht gefunden");
return false;
}