111 lines
2.2 KiB
Java
111 lines
2.2 KiB
Java
/*
|
||
* 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 <20>berhaupt ein erstes Element?
|
||
first = first.next;
|
||
}
|
||
|
||
public int getFirst() {
|
||
// liefert das erste Element der Liste zur<75>ck
|
||
int result = 0;
|
||
|
||
// wenn es <20>berhaupt ein erstes Element gibt
|
||
if (first != null)
|
||
// dann wird der Inhalt (Wert) zur<75>ckgeliefert
|
||
result = first.content;
|
||
// ansonsten der Zeichenwert 0
|
||
|
||
return result;
|
||
}
|
||
|
||
public int getLast() {
|
||
// liefert das letzte Element der Liste zur<75>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<75>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
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
}
|