List hinzufügen
parent
aa622e304d
commit
1613c42bfe
|
|
@ -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 <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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue