Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void wyswietlSciezke(Wierzcholek zrodlo, Wierzcholek cel) {
- inicjalizujOdleglosc(zrodlo);
- kolejka.add(zrodlo);
- while (!kolejka.isEmpty()) {
- Wierzcholek w = kolejka.poll();
- for (Wierzcholek sąsiad : w.sąsiedzi) {
- Double newValue = new Double(getKrawedz(w, sąsiad).getWeight());
- if ((odleglosc.get(w)+newValue)<(odleglosc.get(sąsiad))) {
- Double oldValue=odleglosc.get(sąsiad);
- odleglosc.replace(sąsiad, oldValue, newValue);
- w.distance=newValue;
- sąsiad.poprzednik=w;
- kolejka.add(sąsiad);
- }
- }
- }
- String droga="";
- droga += zrodlo.naJakiejUlicyLezy.get(0) + " -> " + cel.naJakiejUlicyLezy.get(0) + " najnizszy koszt: "+odleglosc.get(cel)+ " km"+ "\n";
- droga += "Sciezka: " + zrodlo.naJakiejUlicyLezy.get(0);
- boolean done = false;
- Wierzcholek current = cel;
- String s = "";
- while(!done){
- if(current.poprzednik != null){
- current = current.poprzednik;
- s = " -> "+current.naJakiejUlicyLezy.get(0)+s;
- } else done = true;
- }
- droga +=s + " -> "+cel.naJakiejUlicyLezy.get(0);
- System.out.println(droga);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement