diff --git a/LinearList.java b/LinearList.java new file mode 100644 index 0000000..2cac1b9 --- /dev/null +++ b/LinearList.java @@ -0,0 +1,110 @@ +/* + * Created on 21.11.2003 + * + * To change the template for this generated file go to + * Window>Preferences>Java>Code Generation>Code and Comments + */ + +/** + * @author klaus + * + * To change the template for this generated type comment go to + * Window>Preferences>Java>Code Generation>Code and Comments + */ +public class LinearList { + // Referenz auf das erste Element + public ListElement first; + + public void addFirst(int value) { + // f�gt am Kopf der Liste ein neues Element ein + ListElement n = new ListElement(); + + n.content = value; + n.next = first; + first = n; + } + + public void removeFirst() { + // entfernt das erste Element der Liste + if (first != null) + // gibt es �berhaupt ein erstes Element? + first = first.next; + } + + public int getFirst() { + // liefert das erste Element der Liste zur�ck + int result = 0; + + // wenn es �berhaupt ein erstes Element gibt + if (first != null) + // dann wird der Inhalt (Wert) zur�ckgeliefert + result = first.content; + // ansonsten der Zeichenwert 0 + + return result; + } + + public int getLast() { + // liefert das letzte Element der Liste zur�ck + int result = 0; + ListElement n = first; + + while (n != null) { + // solange Elemente da sind, Inhalt (Wert) merken + // Am Ende der Schleife steht dort der Wert des + // letzten Elementes + result = n.content; + n = n.next; + } + // War die Liste leer wird der Zeichenwert 0 zur�ckgeliefert + + return result; + } + + public boolean isEmpty() { + // Test, ob die Liste leer ist + return (first == null); + } + + public int size() { + // L�nge der Liste ermitteln + int counter = 0; + ListElement n = first; + + while (n != null) { + counter++; + n = n.next; + } + return (counter); + } + + public void output() { + // Ausgabe des Inhalts der Liste auf der Konsole + ListElement n = first; + + System.out.print("\n( "); + while (n != null) { + System.out.print(n.content + " "); + n = n.next; + } + System.out.println(")"); + } + +public LinearList deepClone() { + + // legt rekursiv eine "echte" Kopie der linearen + + // Liste an – d.h. nach dem Aufruf existieren zwei + + // lineare Listen identischen Inhalts. + + // Der Rückgabewert ist eine Referenz auf das + + // neu angelegte Listenobjekt + + + + + + } +}