gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Liste, uvodni primeri prepravljeni da koriste 'double' kao tip
[spa1-materijali.git] / kodovi / liste / ListeOsnovneOperacije.java
1 /**
2 * Prikaz osnovnih operacija sa jednostruko povezanom listom - formiranje i
3 * stampanje
4 */
5 public class ListeOsnovneOperacije {
7 public static void main(String[] arg) {
8 ListaBrojeva lista = new ListaBrojeva();
9 System.out.println("unesite n (broj brojeva): ");
10 int n = Svetovid.in.readInt();
11 System.out.println("unesite brojeve");
12 for (int i = 0; i < n; i++) {
13 double br = Svetovid.in.readDouble();
14 lista.dodajNaPocetak(br);
15 }
16 System.out.println("Sadrzaj liste:");
17 lista.stampajNaEkran();
18 }
19 }
21 /**
22 * ListaBrojeva predstavlja listu brojeva sa odgovarajucim operacijama za
23 * dodavanje u listu i za stampanje iste.
24 */
25 class ListaBrojeva {
27 /**
28 * Element u klasi ListaBrojeva. Sadrzi informaciju, odnosno broj i
29 * pokazivac na sledeci element u listi.
30 *
31 * Klasa je napravljena kao unutrasnja od ListaBrojeva posto zapravo nikog
32 * van klase i ne treba da interesuje kako iznutra predstavljamo podatke.
33 *
34 * Klasa je mogla biti postavljena i na istom nivou kao ListaBrojeva i bila
35 * bi ista funkcionalnost.
36 */
37 class Element {
38 double info;
39 Element veza;
41 public Element(double br) {
42 this.info = br;
43 this.veza = null;
44 }
46 public String toString() {
47 return info + "";
48 }
49 }
51 // pokazivac na prvi element liste
52 Element prvi;
54 /** Kreira praznu listu brojeva. */
55 public ListaBrojeva() {
56 this.prvi = null;
57 }
59 /** Dodaje novi broj na pocetak liste */
60 public void dodajNaPocetak(double br) {
61 Element novi = new Element(br);
62 novi.veza = prvi;
63 prvi = novi;
64 }
66 /** Vraca da li je lista prazna */
67 public boolean jePrazna() {
68 return prvi == null;
69 }
71 public void stampajNaEkran() {
72 if (jePrazna()) {
73 Svetovid.out.println("Lista je prazna");
74 } else {
75 Svetovid.out.println("Sadrzaj liste:");
76 Element tekuci = prvi;
77 while (tekuci != null) {
78 System.out.println(tekuci.info);
79 tekuci = tekuci.veza;
80 }
81 System.out.println();
82 }
83 }
85 public String toString() {
86 String rez = "Lista: [ ";
87 Element tekuci = prvi;
88 while (tekuci != null) {
89 rez += tekuci.info + " ";
90 tekuci = tekuci.veza;
91 }
92 rez += "]";
93 return rez;
94 }
96 }
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner