gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d29bd5a)
raw | patch | inline | side by side (parent: d29bd5a)
author | Doni Pracner <donny@rarogl> | |
Tue, 24 Mar 2015 16:53:17 +0000 (17:53 +0100) | ||
committer | Doni Pracner <donny@rarogl> | |
Tue, 24 Mar 2015 16:53:17 +0000 (17:53 +0100) |
kodovi/liste/ListeOsnovneOperacije.java | [new file with mode: 0644] | patch | blob |
diff --git a/kodovi/liste/ListeOsnovneOperacije.java b/kodovi/liste/ListeOsnovneOperacije.java
--- /dev/null
@@ -0,0 +1,97 @@
+/**
+ * Prikaz osnovnih operacija sa jednostruko povezanom listom - formiranje i
+ * stampanje
+ */
+public class ListeOsnovneOperacije {
+
+ public static void main(String[] arg) {
+ ListaBrojeva lista = new ListaBrojeva();
+ int br;
+ System.out.println("unesite n (broj brojeva): ");
+ int n = Svetovid.in.readInt();
+ System.out.println("unesite brojeve");
+ for (int i = 0; i < n; i++) {
+ br = Svetovid.in.readInt();
+ lista.dodajNaPocetak(br);
+ }
+ System.out.println("Sadrzaj liste:");
+ lista.stampajNaEkran();
+ }
+}
+
+/**
+ * ListaBrojeva predstavlja listu brojeva sa odgovarajucim operacijama za
+ * dodavanje u listu i za stampanje iste.
+ */
+class ListaBrojeva {
+
+ /**
+ * Element u klasi ListaBrojeva. Sadrzi informaciju, odnosno broj i
+ * pokazivac na sledeci element u listi.
+ *
+ * Klasa je napravljena kao unutrasnja od ListaBrojeva posto zapravo nikog
+ * van klase i ne treba da interesuje kako iznutra predstavljamo podatke.
+ *
+ * Klasa je mogla biti postavljena i na istom nivou kao ListaBrojeva i bila
+ * bi ista funkcionalnost.
+ */
+ class Element {
+ int info;
+ Element veza;
+
+ public Element(int br) {
+ this.info = br;
+ this.veza = null;
+ }
+
+ public String toString() {
+ return info + "";
+ }
+ }
+
+ // pokazivac na prvi element liste
+ Element prvi;
+
+ /** Kreira praznu listu brojeva. */
+ public ListaBrojeva() {
+ this.prvi = null;
+ }
+
+ /** Dodaje novi broj na pocetak liste */
+ public void dodajNaPocetak(int br) {
+ Element novi = new Element(br);
+ novi.veza = prvi;
+ prvi = novi;
+ }
+
+ /** Vraca da li je lista prazna */
+ public boolean jePrazna() {
+ return prvi == null;
+ }
+
+ public void stampajNaEkran() {
+ if (jePrazna()) {
+ Svetovid.out.println("Lista je prazna");
+ } else {
+ Svetovid.out.println("Sadrzaj liste:");
+ Element tekuci = prvi;
+ while (tekuci != null) {
+ System.out.println(tekuci.info);
+ tekuci = tekuci.veza;
+ }
+ System.out.println();
+ }
+ }
+
+ public String toString() {
+ String rez = "Lista: [ ";
+ Element tekuci = prvi;
+ while (tekuci != null) {
+ rez += tekuci.info + " ";
+ tekuci = tekuci.veza;
+ }
+ rez += "]";
+ return rez;
+ }
+
+}