gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system 1 /*
2 * Primer klase koja u sebi sadrzi jednostruko povezanu listu, a u kojoj
3 * svaki element takodje ima pokazivac na jos po jednu nezavisnu listu. *
4 */
6 /**
7 * Glavni program koji ilustruje koriscenje klase SadrzajOrmana.
8 *
9 */
48 }
49 }
51 /**
52 * Klasa koja predstavlja sadrzaj jedne grupe ormana. Za svaki orman se pamti
53 * njegov naziv i spisak posuda koje su u njemu. Svi ormani se moraju zvati
54 * razlicito. Posude su predstavljene svojim nazivima.
55 *
56 *
57 */
60 // pokazivac na prvi orman u listi
63 /**
64 * Klasa koja predstavlja pojedinacni orman.
65 *
66 */
68 String naziv;
69 Orman veza;
70 Posuda sadrzaj;
75 }
86 }
87 }
90 }
91 }
93 /**
94 * Klasa predstavlja jednu posudu.
95 */
97 String naziv;
98 Posuda veza;
103 }
107 }
108 }
116 }
118 }
120 /**
121 * Dodaje novi orman u listu ormana, ako vec ne postoji
122 */
124 // dodajemo samo ako ne postoji
129 }
130 }
132 /**
133 * Vraca da li trazeni orman vec postoji
134 */
140 }
142 }
144 // alternativno
145 // return nadjiOrman(trazeni) != null;
146 }
148 // interni metod koji vraca pokazivac na odg. orman
154 }
156 }
158 }
160 /**
161 * Dodaje posudu u orman. Ako orman nije postojao, bice dodat.
162 */
168 }
169 // moze biti vise istih posuda
170 // ne proveravamo nista
174 }
176 /**
177 * Vraca da li se posuda sa datim nazivom nalazi u ormanu sa datim imenom.
178 */
182 }
184 // interni metod koji u sustini resava problem
190 }
192 }
194 }
196 /**
197 * Vraca orman u kome se nalazi trazena posuda. Ako ima vise ovakvih ormana
198 * vratice se prvi u kome je nadjena trazena posuda. Ako nema ovakve posude
199 * ni u jednom ormanu, metod vraca `null`.
200 */
206 }
208 }
210 }
212 /**
213 * Uklanja posudu iz datog ormana. Ako orman ostane prazan, uklanja i orman.
214 */
219 }
221 // interni metod koji prima pokazivac na unutrasnju strukturu
225 // da li je prva?
231 // nije prva
235 }
239 }
240 }
241 }
243 // ako je bilo promene proveriti i orman
246 }
247 }
249 }
251 /**
252 * Uklanja posudu sa datim nazivom iz bilo kog ormana
253 */
256 // pokusavamo da uklonimo iz svakog ormana
257 // prekidamo ako uspemo
260 }
261 // ako smo prosli celu listu -> nismo uklonili nista
263 }
265 /**
266 * Pokusava da uklani orman sa datim nazivom i vraca da
267 * li je uspesno uklonjen.
268 */
270 // provera da li uopste ima ormana
273 }
274 // proverimo da li je prvi
278 }
279 // trazimo u ostatku
285 }
287 }
289 }
290 }