Files
queue-stack/Queue.java
2020-09-10 11:11:18 +02:00

58 lines
1.2 KiB
Java

public class Queue<ContentType> {
private QueueNode<ContentType> head = null;
private QueueNode<ContentType> tail = null;
public Queue() {
}
public void enqueue( ContentType pContentObject ) {
QueueNode<ContentType> n = new QueueNode<>(pContentObject);
if(head==null){
head = n;
tail = n;
} else {
tail.setNext(n);
tail = n;
}
}
public void dequeue() {
if(head != tail){
head = head.getNext();
} else {
if(head != null){
head = null;
tail = null;
}
}
}
/**
* Liefert das Inhaltsobjekt vom ersten Knotens der Schlange
* vom Typ ContentType, falls die Schlange nicht leer ist,
* ansonsten null.
*
* @return Das Inhaltsobjekt oder null.
*/
public ContentType front() {
if( !isEmpty() ) {
return head.getContent();
} else {
return null;
}
}
/**
* Prüft, ob die Schlange leer ist.
*
* @return true, wenn die Schlange keine Knoten enthaelt
*/
public boolean isEmpty() {
return (head == null);
}
}