neues: queue

master
jdgsy 2023-12-18 16:54:18 +01:00
parent 7eb050d9d3
commit 8a75189133
2 changed files with 87 additions and 2 deletions

View File

@ -95,7 +95,33 @@ public class List<T>
}
public T remove(int n) {
return null; //Platzhalter
if (n >= size()) return null; //um fehler zu beheben: Parameter darf nicht größer als tatsächlicher Länge sein
if ( n == 0){ // wenn Parameter 0 ist dann...
T tmp = first.wert; // wert von first (=0) speichern
first = first.next; //first "pfeil" auf den nächsten
return tmp;//wert ausgeben
}
Node<T> current = first;
for (int i = 0; i < n-1; i++){
current = current.next;
}
T tmp = current.next.wert; // (Zwischenvariable um gelöschten Wert zu speichern)
current.next = current.next.next; // Pfeil auf nächsten verschieben damit er nichr auf gelöschtem Zeigt
return tmp; //gelöschten Wert ausgeben
}
public String toString(){ // glaub um halt alles schön auszugeben
String result = "";
Node<T> current = first;
while (current != null){
result += current.wert + ", ";
current = current.next;
}
return result;
}
}
}

59
Queue.java Normal file
View File

@ -0,0 +1,59 @@
/**
* Beschreiben Sie hier die Klasse Queue.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Queue<T>
{
private Node<T> first;
public Queue() {
first = null;
}
public boolean isEmpty() {
if (first == null) return true;
return false;
}
public T front() {
if (this.first == null) return null;
return this.first.wert;
}
public void enqueue(T val) {
Node<T> neu = new Node<T>();
neu.wert = val;
if (first == null) {
first = neu;
} else {
Node<T> current = first;
while (current.next != null) {
current = current.next;
}
current.next = neu;
}
}
public T dequeue(int n) {
T tmp = first.wert; // (Zwischenvariable um gelöschten Wert zu speichern)
first = first.next; // Pfeil auf nächsten verschieben damit er nichr auf gelöschtem Zeigt
return tmp; //gelöschten Wert ausgeben
}
public String toString(){ // glaub um halt alles schön auszugeben
String result = "";
Node<T> current = first;
while (current != null){
result += current.wert + ", ";
current = current.next;
}
return result;
}
}