gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Laviritn, Objedinjeno resenje, doterivanja
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / ObjedinjenoResenje / Lavirint.java
index 77069ae..5b84e5a 100644 (file)
@@ -12,7 +12,7 @@ public class Lavirint {
        private Mapa m;\r
 \r
        // Polje optResenje sluzi za pamcenje optimalnog resenja\r
-       private Resenje optResenje;\r
+       private Put optResenje;\r
 \r
        // Ucitava mapu iz datog fajla i stampa je na ekran\r
        Lavirint(String imeFajla) {\r
@@ -91,8 +91,8 @@ public class Lavirint {
        // Kreira optimalno resenje za put, pri cemu se za optimalnost resenja\r
        // koristi komparator po duzini resenja, tj. trazi se najkrace resenje\r
        // Samo resenje kreira se u metodi optPut\r
-       public Resenje najkraciPut(int x, int y) {\r
-               Resenje r = new Resenje();\r
+       public Put najkraciPut(int x, int y) {\r
+               Put r = new Put();\r
                optPut(x, y, r, new KomparatorPoDuzini());\r
                return optResenje;\r
        }\r
@@ -100,17 +100,17 @@ public class Lavirint {
        // Kreira optimalno resenje za put, pri cemu se za optimalnost resenja\r
        // koristi komparator po duzini resenja, tj. trazi se najvrednije resenje\r
        // Samo resenje kreira se u metodi optPut\r
-       public Resenje najvrednijiPut(int x, int y) {\r
-               Resenje r = new Resenje();\r
-               optPut(x, y, r, new KomparatorPoVredosti());\r
+       public Put najvrednijiPut(int x, int y) {\r
+               Put trenutni = new Put();\r
+               optPut(x, y, trenutni, new KomparatorPoVredosti());\r
                return optResenje;\r
        }\r
 \r
        // Proverava da li postoji put korsiteci pretrazivanje sa vracanjem\r
        // Ukoliko se pronadje na prvi ili optimalniji put, taj put se pamti u\r
        // optResenje\r
-       // Optimalnost resenja se proverava komparatorom\r
-       private void optPut(int x, int y, Resenje r, Comparator<Resenje> c) {\r
+       // Optimalnost puta se proverava komparatorom\r
+       private void optPut(int x, int y, Put trenutni, Comparator<Put> c) {\r
                if (x < 0 || x >= m.getSirina() || y < 0 || y >= m.getVisina()) {\r
                        return;\r
                }\r
@@ -121,36 +121,36 @@ public class Lavirint {
                        return;\r
                }\r
                if (m.getMat(x, y) == Mapa.IZLAZ) {\r
-                       r.dodaj(x, y, 0);\r
-                       if (optResenje == null || c.compare(r, optResenje) < 0) {\r
-                               optResenje = new Resenje(r);\r
+                       trenutni.dodaj(x, y, 0);\r
+                       if (optResenje == null || c.compare(trenutni, optResenje) < 0) {\r
+                               optResenje = new Put(trenutni);\r
                        }\r
-                       r.izbaciKraj();\r
+                       trenutni.izbaciKraj();\r
                        return;\r
                }\r
 \r
                // pokusavamo da trazimo dalje put\r
                m.setPos(x, y, true);\r
-               r.dodaj(x, y, m.getMat(x, y));\r
-               optPut(x + 1, y, r, c);\r
-               optPut(x, y + 1, r, c);\r
-               optPut(x, y - 1, r, c);\r
-               optPut(x - 1, y, r, c);\r
+               trenutni.dodaj(x, y, m.getMat(x, y));\r
+               optPut(x + 1, y, trenutni, c);\r
+               optPut(x, y + 1, trenutni, c);\r
+               optPut(x, y - 1, trenutni, c);\r
+               optPut(x - 1, y, trenutni, c);\r
                m.setPos(x, y, false);\r
-               r.izbaciKraj();\r
+               trenutni.izbaciKraj();\r
        }\r
 }\r
 \r
-// Komparator za resenja po duzini resenja\r
-class KomparatorPoDuzini implements Comparator<Resenje> {\r
-       public int compare(Resenje r1, Resenje r2) {\r
+// Komparator za puteve  po duzini resenja\r
+class KomparatorPoDuzini implements Comparator<Put> {\r
+       public int compare(Put r1, Put r2) {\r
                return r1.getLength() - r2.getLength();\r
        }\r
 }\r
 \r
-// Komparator za resenja po vrednosti resenja\r
-class KomparatorPoVredosti implements Comparator<Resenje> {\r
-       public int compare(Resenje r1, Resenje r2) {\r
+// Komparator za puteve po vrednosti resenja\r
+class KomparatorPoVredosti implements Comparator<Put> {\r
+       public int compare(Put r1, Put r2) {\r
                return r2.getVrednost() - r1.getVrednost();\r
        }\r
 }\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner