gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control systemdiff --git a/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Resenje.java b/PretrazivanjeSaVracanjem/Lavirint/ObjedinjenoResenje/Resenje.java
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
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
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