gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Lavirint - trazenje najboljeg puta
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / NajboljiPut / Resenje.java
diff --git a/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/Resenje.java b/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/Resenje.java
new file mode 100644 (file)
index 0000000..e29f569
--- /dev/null
@@ -0,0 +1,72 @@
+/**\r
+ * Klasa Resenje koristi se za pamcenje pronadjenog puta.\r
+ * \r
+ * Polje Polja se koristi za pamcenje svih polja na putu.\r
+ * \r
+ * Polje nepromenljivaListaPolja je dodata da se omoguci\r
+ * pristup poljima resenja "spolja" (za proveru kvaliteta puta na primer), \r
+ * ali tako da ne moze da se utice na sam sadrzaj te liste.\r
+ */\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.Collections;\r
+\r
+public class Resenje implements Cloneable {\r
+ private ArrayList<Polje> polja;\r
+\r
+ Resenje() {\r
+  polja = new ArrayList<Polje>();\r
+ }\r
+\r
+ // Dodaje pulje u resenje\r
+ public void dodaj(int x, int y, int v) {\r
+  polja.add(new Polje(x, y, v));\r
+ }\r
+\r
+ // Izbacuje polje iz resenja\r
+ public void izbaciKraj() {\r
+  if (getLength() > 0) {\r
+   polja.remove(getLength() - 1);\r
+  } else {\r
+   System.err.println("greska: resenje je vec prazno");\r
+  }\r
+ }\r
+\r
+ // Stampa resenje\r
+ public void stampaj() {\r
+  System.out.println(getLength());\r
+  for (int i = 0; i < getLength(); i++)\r
+   System.out.println(polja.get(i));\r
+ }\r
+\r
+ // Vraca duzinu resenja\r
+ public int getLength() {\r
+  return polja.size();\r
+ }\r
+\r
+ // Vraca i-to polje na putu. Ne koristi se u ovoj verziji zadatka.\r
+ // Moze se koristiti za proveru kvaliteta resenja\r
+ public Polje getPolje(int i) {\r
+  return polja.get(i);\r
+ }\r
+\r
+ // Kreira klon od resenja\r
+ @Override\r
+ public Resenje clone() {\r
+  Resenje rez = new Resenje();\r
+  for (Polje p : polja) {\r
+   rez.dodaj(p.getX(), p.getY(), p.getV());\r
+  }\r
+  return rez;\r
+ }\r
+\r
+ // Vraca vrednost puta\r
+ // Vrednost se definise kao zbir svih vrednosti polja na putu\r
+ public int getVrednost() {\r
+  int rez = 0;\r
+  for (Polje p : polja) {\r
+   rez = rez + p.getV();\r
+  }\r
+  return rez;\r
+ }\r
+}\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner