Initial sharing of project
						commit
						e4e0712be5
					
				|  | @ -0,0 +1,90 @@ | ||||||
|  | public class LinkedList<T> | ||||||
|  | { | ||||||
|  |     public Node<T> first; | ||||||
|  |      | ||||||
|  |     public LinkedList() { | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public void einfuegen(T neu) { | ||||||
|  |         Node n = new Node<T>(neu); // Neue Node mit Zahl "neu" anlegen
 | ||||||
|  |          | ||||||
|  |         // Überprüfe, ob Liste leer
 | ||||||
|  |         if (first == null) { | ||||||
|  |             // setze neue Node als ersten Eintrag
 | ||||||
|  |             first = n; | ||||||
|  |         } else { | ||||||
|  |             Node<T> current = first; | ||||||
|  |              | ||||||
|  |             // gehe zum letzten Eintrag
 | ||||||
|  |             while (current.next != null) { | ||||||
|  |                 current = current.next; | ||||||
|  |             } | ||||||
|  |              | ||||||
|  |             // current ist jetzt der letzte Eintrag
 | ||||||
|  |             // setze neue Node als Nachfolger von bisher letzem Eintrag
 | ||||||
|  |             current.setNext(n); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public int laenge() { | ||||||
|  |         Node<T> current = first; | ||||||
|  |         int laenge = 0; | ||||||
|  |          | ||||||
|  |         while (current != null) { | ||||||
|  |             current = current.next; | ||||||
|  |             laenge++; | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         return laenge; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public T getNtenWert(int n) { | ||||||
|  |         Node<T> current = first; | ||||||
|  |          | ||||||
|  |         for (int i=0; i<n; i++) { | ||||||
|  |             current = current.next; | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         return current.wert; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public void loesche(int n) { | ||||||
|  |         if (n == 0) { | ||||||
|  |             first = first.next; | ||||||
|  |         } else { | ||||||
|  |             Node<T> current = first; | ||||||
|  |              | ||||||
|  |             // gehe an den Vorgänger des zu löschenden Eintrags
 | ||||||
|  |             for (int  i=0; i<n-1; i++) { | ||||||
|  |                 current = current.next; | ||||||
|  |             } | ||||||
|  |              | ||||||
|  |             // Setze Übernächsten Eintrag als Nachfolger
 | ||||||
|  |             current.next = current.next.next; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public void einfuegen(int n, T wert) { | ||||||
|  |         // Neue Node anlegen
 | ||||||
|  |         Node<T> neu = new Node<T>(wert); | ||||||
|  |          | ||||||
|  |         if (n == 0) { | ||||||
|  |             // Setze Nachfolger auf bisherigen Start
 | ||||||
|  |             neu.setNext(first); | ||||||
|  |             // Setze neuen Start auf neues Element
 | ||||||
|  |             first = neu; | ||||||
|  |         } else { | ||||||
|  |             Node<T> current = first; | ||||||
|  |             // gehe an den Vorgänger
 | ||||||
|  |             for (int  i=0; i<n-1; i++) { | ||||||
|  |                 current = current.next; | ||||||
|  |             } | ||||||
|  |              | ||||||
|  |             // ändere neu.next auf current.next
 | ||||||
|  |             neu.setNext(current.next); | ||||||
|  |              | ||||||
|  |             // ändere current.next auf neu
 | ||||||
|  |             current.setNext(neu); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,119 @@ | ||||||
|  | public class List<T> | ||||||
|  | { | ||||||
|  |     public Node<T> first; | ||||||
|  |      | ||||||
|  |     public List() {} | ||||||
|  |      | ||||||
|  |     public boolean isEmpty() { | ||||||
|  |         return first == null; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public int size() { | ||||||
|  |         Node<T> current = first; | ||||||
|  |         int laenge = 0; | ||||||
|  |          | ||||||
|  |         while (current != null) { | ||||||
|  |             current = current.next; | ||||||
|  |             laenge++; | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         return laenge; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public T get(int n) { | ||||||
|  |         Node<T> current = first; | ||||||
|  |          | ||||||
|  |         if (n >= size()) return null; | ||||||
|  |          | ||||||
|  |         for (int i=0; i<n; i++) { | ||||||
|  |             current = current.next; | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         return current.wert; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public void add(T neu) { | ||||||
|  |         Node n = new Node<T>(neu); // Neue Node mit Zahl "neu" anlegen
 | ||||||
|  |          | ||||||
|  |         // Überprüfe, ob Liste leer
 | ||||||
|  |         if (first == null) { | ||||||
|  |             // setze neue Node als ersten Eintrag
 | ||||||
|  |             first = n; | ||||||
|  |         } else { | ||||||
|  |             Node<T> current = first; | ||||||
|  |              | ||||||
|  |             // gehe zum letzten Eintrag
 | ||||||
|  |             while (current.next != null) { | ||||||
|  |                 current = current.next; | ||||||
|  |             } | ||||||
|  |              | ||||||
|  |             // current ist jetzt der letzte Eintrag
 | ||||||
|  |             // setze neue Node als Nachfolger von bisher letzem Eintrag
 | ||||||
|  |             current.setNext(n); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public void add(int n, T wert) { | ||||||
|  |         // Neue Node anlegen
 | ||||||
|  |         Node<T> neu = new Node<T>(wert); | ||||||
|  |          | ||||||
|  |         if (n == 0) { | ||||||
|  |             // Setze Nachfolger auf bisherigen Start
 | ||||||
|  |             neu.setNext(first); | ||||||
|  |             // Setze neuen Start auf neues Element
 | ||||||
|  |             first = neu; | ||||||
|  |         } else { | ||||||
|  |             Node<T> current = first; | ||||||
|  |             // gehe an den Vorgänger
 | ||||||
|  |             for (int  i=0; i<n-1; i++) { | ||||||
|  |                 if (current.next != null) { | ||||||
|  |                     current = current.next; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |              | ||||||
|  |             // ändere neu.next auf current.next
 | ||||||
|  |             neu.setNext(current.next); | ||||||
|  |              | ||||||
|  |             // ändere current.next auf neu
 | ||||||
|  |             current.setNext(neu); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public boolean contains(T wert) { | ||||||
|  |         Node<T> current = first; | ||||||
|  |          | ||||||
|  |         while (current != null) { | ||||||
|  |             if (current.wert == wert) return true; | ||||||
|  |              | ||||||
|  |             current = current.next; | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public T remove(int n) { | ||||||
|  |         if (n >= size()) return null; | ||||||
|  |          | ||||||
|  |         if (n == 0) { | ||||||
|  |             T wert = first.wert; | ||||||
|  |              | ||||||
|  |             first = first.next; | ||||||
|  |              | ||||||
|  |             return wert; | ||||||
|  |         } else { | ||||||
|  |             Node<T> current = first; | ||||||
|  |              | ||||||
|  |             // gehe an den Vorgänger des zu löschenden Eintrags
 | ||||||
|  |             for (int  i=0; i<n-1; i++) { | ||||||
|  |                 current = current.next; | ||||||
|  |             } | ||||||
|  |              | ||||||
|  |             T wert = current.next.wert; | ||||||
|  |              | ||||||
|  |             // Setze Übernächsten Eintrag als Nachfolger
 | ||||||
|  |             current.next = current.next.next; | ||||||
|  |              | ||||||
|  |             return wert; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,14 @@ | ||||||
|  | public class Node<T> | ||||||
|  | { | ||||||
|  |     public T wert; | ||||||
|  |      | ||||||
|  |     public Node<T> next; | ||||||
|  |      | ||||||
|  |     public Node(T w) { | ||||||
|  |         wert = w; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     public void setNext(Node n) { | ||||||
|  |         next = n; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,14 @@ | ||||||
|  | ------------------------------------------------------------------------ | ||||||
|  | Dies ist die README-Datei des Projekts. Hier sollten Sie Ihr Projekt | ||||||
|  | beschreiben. | ||||||
|  | Erzählen Sie dem Leser (jemand, der nichts über dieses Projekt weiss), | ||||||
|  | alles, was er/sie wissen muss. Üblicherweise sollte der Kommentar  | ||||||
|  | zumindest die folgenden Angaben umfassen: | ||||||
|  | ------------------------------------------------------------------------ | ||||||
|  | 
 | ||||||
|  | PROJEKTBEZEICHNUNG: | ||||||
|  | PROJEKTZWECK: | ||||||
|  | VERSION oder DATUM: | ||||||
|  | WIE IST DAS PROJEKT ZU STARTEN: | ||||||
|  | AUTOR(EN): | ||||||
|  | BENUTZERHINWEISE: | ||||||
|  | @ -0,0 +1,25 @@ | ||||||
|  | public class Test | ||||||
|  | { | ||||||
|  |     public static void test() { | ||||||
|  |         List liste = new List<String>(); | ||||||
|  |         liste.add("Hallo"); | ||||||
|  |         liste.add("Welt"); | ||||||
|  |         liste.add("Informatik"); | ||||||
|  |         liste.add("ist"); | ||||||
|  |         liste.add("toll"); | ||||||
|  |         liste.add("!!!"); | ||||||
|  |          | ||||||
|  |         liste.remove(1); | ||||||
|  |          | ||||||
|  |         liste.add(3, "wirklich"); | ||||||
|  |                          | ||||||
|  |         Node<String> current = liste.first; | ||||||
|  |          | ||||||
|  |         while (current != null) { | ||||||
|  |             System.out.println(current.wert); | ||||||
|  |             current = current.next; | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         System.out.println(liste.contains("ist")); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,69 @@ | ||||||
|  | #BlueJ package file | ||||||
|  | dependency1.from=LinkedList | ||||||
|  | dependency1.to=Node | ||||||
|  | dependency1.type=UsesDependency | ||||||
|  | dependency2.from=List | ||||||
|  | dependency2.to=Node | ||||||
|  | dependency2.type=UsesDependency | ||||||
|  | dependency3.from=Test | ||||||
|  | dependency3.to=List | ||||||
|  | dependency3.type=UsesDependency | ||||||
|  | dependency4.from=Test | ||||||
|  | dependency4.to=Node | ||||||
|  | dependency4.type=UsesDependency | ||||||
|  | editor.fx.0.height=1055 | ||||||
|  | editor.fx.0.width=960 | ||||||
|  | editor.fx.0.x=960 | ||||||
|  | editor.fx.0.y=25 | ||||||
|  | editor.fx.1.height=1055 | ||||||
|  | editor.fx.1.width=960 | ||||||
|  | editor.fx.1.x=0 | ||||||
|  | editor.fx.1.y=25 | ||||||
|  | objectbench.height=191 | ||||||
|  | objectbench.width=557 | ||||||
|  | package.divider.horizontal=0.6 | ||||||
|  | package.divider.vertical=0.8002018163471241 | ||||||
|  | package.editor.height=786 | ||||||
|  | package.editor.width=821 | ||||||
|  | package.editor.x=0 | ||||||
|  | package.editor.y=25 | ||||||
|  | package.frame.height=1055 | ||||||
|  | package.frame.width=960 | ||||||
|  | package.numDependencies=4 | ||||||
|  | package.numTargets=4 | ||||||
|  | package.showExtends=true | ||||||
|  | package.showUses=true | ||||||
|  | project.charset=UTF-8 | ||||||
|  | readme.height=60 | ||||||
|  | readme.name=@README | ||||||
|  | readme.width=48 | ||||||
|  | readme.x=10 | ||||||
|  | readme.y=10 | ||||||
|  | target1.height=70 | ||||||
|  | target1.name=Test | ||||||
|  | target1.showInterface=false | ||||||
|  | target1.type=ClassTarget | ||||||
|  | target1.width=120 | ||||||
|  | target1.x=500 | ||||||
|  | target1.y=90 | ||||||
|  | target2.height=70 | ||||||
|  | target2.name=Node | ||||||
|  | target2.showInterface=false | ||||||
|  | target2.type=ClassTarget | ||||||
|  | target2.width=120 | ||||||
|  | target2.x=130 | ||||||
|  | target2.y=100 | ||||||
|  | target3.height=70 | ||||||
|  | target3.name=List | ||||||
|  | target3.showInterface=false | ||||||
|  | target3.type=ClassTarget | ||||||
|  | target3.width=120 | ||||||
|  | target3.x=300 | ||||||
|  | target3.y=460 | ||||||
|  | target4.height=70 | ||||||
|  | target4.name=LinkedList | ||||||
|  | target4.showInterface=false | ||||||
|  | target4.type=ClassTarget | ||||||
|  | target4.width=120 | ||||||
|  | target4.x=130 | ||||||
|  | target4.y=290 | ||||||
		Loading…
	
		Reference in New Issue