diff --git a/Breitensuche.class b/Breitensuche.class index 2da9e05..d059f09 100644 Binary files a/Breitensuche.class and b/Breitensuche.class differ diff --git a/Breitensuche.java b/Breitensuche.java index 452add9..9db985a 100644 --- a/Breitensuche.java +++ b/Breitensuche.java @@ -55,12 +55,12 @@ public class Breitensuche { // Erstelle Varianten, bei denen die Reihenfolge der Nachbarknoten // modifiziert ist. Dazu - if(g.getVertex("Köln").getID().equals(pVertexID)){ - System.out.println("Köln gefunden"); + if(g.getVertices().getContent().getID().equals(pVertexID)){ + System.out.println(g.getVertices().getContent().getID() + "gefunden"); return true; } else { - g.getVertex("Köln").setMark(true); - searchQueue.enqueue(g.getVertex("Köln")); + g.getVertices().getContent().setMark(true); + searchQueue.enqueue(g.getVertex(g.getVertices().getContent().getID())); while(!searchQueue.isEmpty()){ Vertex v = searchQueue.front(); List ngbrs = g.getNeighbours(v); @@ -84,15 +84,6 @@ public class Breitensuche { return false; } - public List copyList(Listlist){ - list.toFirst(); - List copy = new List(); - while(list.hasAccess()){ - copy.append(list.getContent()); - list.next(); - } - return copy; - } /** * @@ -102,22 +93,22 @@ public class Breitensuche { public boolean findVertexByID( String pVertexID ) { g.setAllVertexMarks(false); // Markierungen zurücksetzen Queue searchQueue = new Queue<>(); // Speicher für zu bearbeitende Knoten erstellen - + //copylist entfernen // TODO: Ändere die Breitensuche so ab, dass die Knoten so abgearbeitet // werden, dass die Nachbarknoten in alphabetischer Reihenfolge // besucht werden. // Nutze dazu die Hilfsmethode getVertexFromListByID, um aus // Liste der Nachbarknoten denjenigen, der alphabetisch als // erstes kommt herauszusuchen. - if(g.getVertex("Düsseldorf").getID().equals(pVertexID)){ - System.out.println("Köln gefunden"); + if(g.getVertices().getContent().getID().equals(pVertexID)){ + System.out.println(g.getVertices().getContent().getID() + "gefunden"); return true; } else { - g.getVertex("Düsseldorf").setMark(true); - searchQueue.enqueue(g.getVertex("Düsseldorf")); + g.getVertices().getContent().setMark(true); + searchQueue.enqueue(g.getVertices().getContent()); while(!searchQueue.isEmpty()){ Vertex v = searchQueue.front(); - List cngbrs=copyList(g.getNeighbours(v)); + List cngbrs=g.getNeighbours(v); cngbrs.toFirst(); while(cngbrs.hasAccess()){ Vertex vs = getVertexFromListByID(cngbrs); @@ -150,15 +141,16 @@ public class Breitensuche { // Nutze dazu die Hilfsmethode getVertexFromListByWeight, um aus // Liste der Nachbarknoten denjenigen mit dem geringsten Gewicht // herauszusuchen. - if(g.getVertex("Köln").getID().equals(pVertexID)){ - System.out.println("Köln gefunden"); + if(g.getVertices().getContent().getID().equals(pVertexID)){ + System.out.println(g.getVertices().getContent().getID() + "gefunden"); return true; } else { - g.getVertex("Köln").setMark(true); - searchQueue.enqueue(g.getVertex("Köln")); + g.getVertices().getContent().setMark(true); + searchQueue.enqueue(g.getVertices().getContent()); while(!searchQueue.isEmpty()){ Vertex v = searchQueue.front(); - List cngbrs=copyList(g.getNeighbours(v)); + List cngbrs=g.getNeighbours(v); + cngbrs.toFirst(); while(cngbrs.hasAccess()){ Vertex vs = getVertexFromListByWeight(v,cngbrs); cngbrs.toFirst(); diff --git a/package.bluej b/package.bluej index e4d86a5..1898b9d 100644 --- a/package.bluej +++ b/package.bluej @@ -1,21 +1,21 @@ #BlueJ package file -dependency1.from=BreitensucheTest -dependency1.to=Breitensuche +dependency1.from=Graph +dependency1.to=List dependency1.type=UsesDependency dependency10.from=Breitensuche dependency10.to=List dependency10.type=UsesDependency dependency2.from=Graph -dependency2.to=List +dependency2.to=Vertex dependency2.type=UsesDependency dependency3.from=Graph -dependency3.to=Vertex +dependency3.to=Edge dependency3.type=UsesDependency -dependency4.from=Graph -dependency4.to=Edge +dependency4.from=Edge +dependency4.to=Vertex dependency4.type=UsesDependency -dependency5.from=Edge -dependency5.to=Vertex +dependency5.from=BreitensucheTest +dependency5.to=Breitensuche dependency5.type=UsesDependency dependency6.from=Breitensuche dependency6.to=Graph @@ -39,8 +39,8 @@ package.divider.horizontal=0.6 package.divider.vertical=0.8477777777777777 package.editor.height=756 package.editor.width=1145 -package.editor.x=17 -package.editor.y=171 +package.editor.x=579 +package.editor.y=292 package.frame.height=1000 package.frame.width=1296 package.numDependencies=10