gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
uklonjeno StabloOpstegTipa koje se ne radi vise
[spa2-materijali.git] / Stabla / StabloOpstegTipa / StabloProgram.java
diff --git a/Stabla/StabloOpstegTipa/StabloProgram.java b/Stabla/StabloOpstegTipa/StabloProgram.java
deleted file mode 100644 (file)
index 2594334..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-import java.util.NoSuchElementException;\r
-//@interface DatoNaVezbama {}\r
-\r
-// Tip podataka koji sadrzi binarno stablo\r
-class BinarnoStablo<T> {\r
-\r
-       // Tip podataka koji opisuje jedan cvor stabla\r
-       private static class Cvor<T> {\r
-               \r
-               T element;\r
-               Cvor<T> levo;\r
-               Cvor<T> desno;\r
-\r
-               Cvor(T element, Cvor<T> levo, Cvor<T> desno) {\r
-                       this.element = element;\r
-                       this.levo = levo;\r
-                       this.desno = desno;\r
-               }\r
-       }\r
-\r
-       // Cvor koji je koren stabla\r
-       // Ako je stablo prazno, koren je null\r
-       protected Cvor<T> koren;\r
-\r
-       // Kreiramo prazno stablo\r
-       public BinarnoStablo() {\r
-               koren = null;\r
-       }\r
-\r
-       // Kreiramo stablo sa datim elementom u korenu\r
-       // bez levog i desnog podstabla\r
-       public BinarnoStablo(T element) {\r
-               koren = new Cvor<>(element, null, null);\r
-       }\r
-\r
-       // Kreiramo novo stablo sa datim elementom u korenu\r
-       // i datim levim i desnim podstablom\r
-       public BinarnoStablo(T element, BinarnoStablo<T> levo, BinarnoStablo<T> desno) {\r
-               koren = new Cvor<T>(element, levo.koren, desno.koren);\r
-       }\r
-\r
-       // Zasticeni konstruktor za kreiranje novog stabla\r
-       // sa korenom u datom cvoru ovog stabla\r
-       protected BinarnoStablo(Cvor<T> koren) {\r
-               this.koren = koren;\r
-       }\r
-\r
-       public T getElement() {\r
-               if (koren == null) { // Stablo je prazno\r
-                       throw new NoSuchElementException();\r
-               }\r
-               return koren.element;\r
-       }\r
-\r
-       public void setElement(T element) {\r
-               if (koren == null) { // Stablo je prazno\r
-                       throw new NoSuchElementException();\r
-               }\r
-               koren.element = element;\r
-       }\r
-\r
-       public BinarnoStablo<T> getLevoPodstablo() {\r
-               if (koren == null) { // Stablo je prazno\r
-                       throw new NoSuchElementException();\r
-               }\r
-               if (koren.levo == null) { // Nema levog podstabla\r
-                       return null;\r
-               }\r
-               return new BinarnoStablo<T>(koren.levo);\r
-       }\r
-\r
-       public void setLevoPodstablo(BinarnoStablo<T> levo) {\r
-               if (koren == null) { // Stablo je prazno\r
-                       throw new NoSuchElementException();\r
-               }\r
-               if (levo == null) {\r
-                       koren.levo = null;\r
-               } else {\r
-                       koren.levo = levo.koren;\r
-               }\r
-       }\r
-\r
-       public BinarnoStablo<T> getDesnoPodstablo() {\r
-               if (koren == null) { // Stablo je prazno\r
-                       throw new NoSuchElementException();\r
-               }\r
-               if (koren.desno == null) {\r
-                       return null;\r
-               }\r
-               return new BinarnoStablo<T>(koren.desno);\r
-       }\r
-\r
-       public void setDesnoPodstablo(BinarnoStablo<T> desno) {\r
-               if (koren == null) { // Stablo je prazno\r
-                       throw new NoSuchElementException();\r
-               }\r
-               if (desno == null) {\r
-                       koren.desno = null;\r
-               } else {\r
-                       koren.desno = desno.koren;\r
-               }\r
-       }\r
-\r
-//    @DatoNaVezbama\r
-       public int brojElemenata() {\r
-       // Spremimo argumente i pozovemo rekurzivni metod\r
-       return brojElemenata(koren);\r
-       }\r
-\r
-  //  @DatoNaVezbama\r
-    // Metod koji zapravo resava dati problem\r
-    protected static <T> int brojElemenata(Cvor<T> cvor) {\r
-       if (cvor == null) {\r
-               return 0;\r
-       }\r
-               int broj = 1;\r
-               broj = broj + brojElemenata(cvor.levo);\r
-               broj = broj + brojElemenata(cvor.desno);\r
-               return broj;\r
-    }\r
-\r
- //   @DatoNaVezbama\r
-       public int brojNivoa() {\r
-       // Spremimo argumente i pozovemo rekurzivni metod\r
-       return brojNivoa(koren);\r
-       }\r
-\r
-   @DatoNaVezbama\r
-    // Metod koji zapravo resava dati problem\r
-       protected static int brojNivoa(Cvor cvor) {\r
-       if (cvor == null) {\r
-               return 0;\r
-       }\r
-               int brojNivoaLevog = brojNivoa(cvor.levo);\r
-               int brojNivoaDesnog = brojNivoa(cvor.desno);\r
-               return Math.max(brojNivoaLevog, brojNivoaDesnog) + 1;\r
-       }\r
-}\r
-\r
-// Glavna klasa\r
-public class StabloProgram {\r
-\r
-       // Glavni program\r
-       public static void main(String[] args) {\r
-\r
-               // Kreiramo objekat koji koristimo za ucitavanje i ispisivanje stabla\r
-               StabloIOPretty<Osoba> io = new StabloIOPretty<>(Konverter.OSOBA);\r
-\r
-               // Ucitamo stablo\r
-               BinarnoStablo<Osoba> stablo = io.readStablo(Svetovid.in("Osobe.txt"));\r
-\r
-               // Ispisemo ucitano stablo na ekran\r
-               io.printStablo(Svetovid.out, stablo);\r
-               Svetovid.out.println();\r
-\r
-               // Ilustrujemo poziv metoda\r
-               \r
-               int brojElemenata = stablo.brojElemenata();\r
-               Svetovid.out.println("Broj elemenata:", brojElemenata);\r
-               \r
-               int brojNivoa = stablo.brojNivoa();\r
-               Svetovid.out.println("Broj nivoa:", brojNivoa);\r
-\r
-               // TODO Dodati pozive ostalih metoda\r
-\r
-       }\r
-}\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner