gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control systemdiff --git a/Stabla/Primeri za test/StabloIOClassic.java b/Stabla/Primeri za test/StabloIOClassic.java
+++ /dev/null
@@ -1,90 +0,0 @@
-import java.util.NoSuchElementException;\r
-\r
-import org.svetovid.io.SvetovidReader;\r
-import org.svetovid.io.SvetovidWriter;\r
-\r
-/*\r
- * Ova klasa sluzi za ucitavanje i snimanje stabala. Nije potrebno znati je,\r
- * i bice data, prilikom izrade prakticnih zadataka.\r
- *\r
- * Ocekivani format fajla je sledeci:\r
- *\r
- * br\r
- * id leviId desniId vrednost (x br)\r
- *\r
- * Primer fajla je classic.txt\r
- */\r
-public class StabloIOClassic implements StabloIO {\r
-\r
- @Override\r
- public Stablo readStablo(SvetovidReader in) {\r
- int br = in.readInt();\r
- Stablo stablo = null;\r
- for (int i = 0; i < br; i++) {\r
- int id = in.readInt();\r
- int leviId = in.readInt();\r
- int desniId = in.readInt();\r
- String vrednost = in.readLine();\r
- Stablo levi = leviId == -1 ? null : new Stablo(leviId);\r
- Stablo desni =desniId == -1 ? null : new Stablo(desniId);\r
- Stablo element = new Stablo(id, vrednost, levi, desni);\r
- stablo = insert(stablo, element);\r
- }\r
- return stablo;\r
- }\r
-\r
- private static Stablo insert(Stablo stablo, Stablo element) {\r
- if (stablo == null) {\r
- return element;\r
- }\r
- Stablo found = find(stablo, element.getId());\r
- if (found == null) {\r
- throw new NoSuchElementException("id: " + element.getId());\r
- }\r
- found.setVrednost(element.getVrednost());\r
- found.setLevi(element.getLevi());\r
- found.setDesni(element.getDesni());\r
- return stablo;\r
- }\r
-\r
- private static Stablo find(Stablo stablo, int id) {\r
- if (stablo == null) {\r
- return null;\r
- }\r
- if (stablo.getId() == id) {\r
- return stablo;\r
- }\r
- Stablo rezultat = find(stablo.getLevi(), id);\r
- if (rezultat != null) {\r
- return rezultat;\r
- }\r
- return find(stablo.getDesni(), id);\r
- }\r
-\r
- @Override\r
- public void printStablo(SvetovidWriter out, Stablo stablo) {\r
- int br = count(stablo);\r
- out.println(br);\r
- iterate(out, stablo);\r
- }\r
-\r
- private static int count(Stablo stablo) {\r
- if (stablo == null) {\r
- return 0;\r
- }\r
- return 1 + count(stablo.getLevi()) + count(stablo.getDesni());\r
- }\r
-\r
- private static void iterate(SvetovidWriter out, Stablo stablo) {\r
- if (stablo == null) {\r
- return;\r
- }\r
- int id = stablo.getId();\r
- int leviId = stablo.getLevi() == null ? -1 : stablo.getLevi().getId();\r
- int desniId = stablo.getDesni() == null ? -1 : stablo.getDesni().getId();\r
- String vrednost = stablo.getVrednost();\r
- out.println(id, leviId, desniId, vrednost);\r
- iterate(out, stablo.getLevi());\r
- iterate(out, stablo.getDesni());\r
- }\r
-}\r