gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Doterivanja objedinjenog resenja za lavirint
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / ObjedinjenoResenje / Resenje.java
index 5732427..ffb2622 100644 (file)
@@ -11,14 +11,26 @@ import java.util.ArrayList;
 import java.util.List;\r
 import java.util.Collections;\r
 \r
-public class Resenje implements Cloneable {\r
+public class Resenje {\r
        private ArrayList<Polje> polja;\r
        private List<Polje> nepromenljivaListaPolja;\r
 \r
-       Resenje() {\r
+       public Resenje() {\r
                polja = new ArrayList<Polje>();\r
                nepromenljivaListaPolja = Collections.unmodifiableList(polja);\r
        }\r
+       \r
+       /**\r
+               Pravi novo resenje sa istim sadrzajem kao original\r
+        */\r
+       public Resenje(Resenje original) {\r
+               // pozovemo "podrazumevani" konstruktor\r
+               this();\r
+               // iskopiramo sva polja iz originala\r
+               for (Polje p : original.getPolja()) {\r
+                       dodaj(p.getX(), p.getY(), p.getV());\r
+               }\r
+       }\r
 \r
        // Dodaje pulje u resenje\r
        public void dodaj(int x, int y, int v) {\r
@@ -40,6 +52,20 @@ public class Resenje implements Cloneable {
                for (int i = 0; i < getLength(); i++)\r
                        System.out.println(polja.get(i));\r
        }\r
+       \r
+       public String toString() {\r
+               StringBuilder sb = new StringBuilder();\r
+               sb.append("Resenje: [ ");\r
+               if (getLength()>0) {\r
+                       sb.append(polja.get(0));\r
+                       for (int i = 1; i < getLength(); i++) {\r
+                               sb.append(", " + polja.get(i));\r
+                       }\r
+               }\r
+               sb.append(" ]");\r
+               \r
+               return sb.toString();\r
+       }\r
 \r
        // Vraca duzinu resenja\r
        public int getLength() {\r
@@ -58,9 +84,8 @@ public class Resenje implements Cloneable {
                return nepromenljivaListaPolja;\r
        }\r
 \r
-       // Kreira klon od resenja\r
-       @Override\r
-       public Resenje clone() {\r
+       // Kreira nezavisnu kopiju ovog resenja\r
+       public Resenje kopija() {\r
                Resenje rez = new Resenje();\r
                for (Polje p : polja) {\r
                        rez.dodaj(p.getX(), p.getY(), p.getV());\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner