Package de.pakad.adt

Class RefQueue<T>

java.lang.Object
de.pakad.adt.RefQueue<T>
Type Parameters:
T - Typ der gespeicherten Elemente
All Implemented Interfaces:
Queue<T>

public class RefQueue<T> extends Object implements Queue<T>
RefQueue implementiert eine generische FIFO-Warteschlange (Queue) mithilfe einer einfach verketteten Liste auf Referenzbasis.

Elemente werden am Ende der Schlange eingefügt (enqueue) und am Anfang der Schlange entnommen (dequeue).

Die Implementierung verwendet zwei Referenzen:

  • head – zeigt auf das erste Element der Schlange
  • tail – zeigt auf das letzte Element der Schlange

Java-Version: 17 oder höher

Author:
Karsten Brodmann (kb@punkt-akademie.de)
  • Constructor Summary

    Constructors
    Constructor
    Description
    Erzeugt eine leere Queue.
  • Method Summary

    Modifier and Type
    Method
    Description
    Entfernt das erste Element der Queue und liefert dessen Wert zurück.
    boolean
    Prüft, ob die Queue leer ist.
    void
    enqueue(T obj)
    Fügt ein Element am Ende der Queue ein.
    Liefert das erste Element der Queue, ohne es zu entfernen.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RefQueue

      public RefQueue()
      Erzeugt eine leere Queue.
  • Method Details

    • empty

      public boolean empty()
      Prüft, ob die Queue leer ist.
      Specified by:
      empty in interface Queue<T>
      Returns:
      true, wenn die Queue keine Elemente enthält, sonst false
    • enqueue

      public void enqueue(T obj)
      Fügt ein Element am Ende der Queue ein.

      Bei einer leeren Queue wird das eingefügte Element sowohl Kopf- als auch Endelement. Andernfalls wird es an das bisherige Ende angehängt.

      Laufzeit: O(1)

      Specified by:
      enqueue in interface Queue<T>
      Parameters:
      obj - einzufügendes Element
    • front

      public T front() throws RuntimeException
      Liefert das erste Element der Queue, ohne es zu entfernen.

      Laufzeit: O(1)

      Specified by:
      front in interface Queue<T>
      Returns:
      erstes Element der Queue
      Throws:
      RuntimeException - wenn die Queue leer ist
    • dequeue

      public T dequeue() throws RuntimeException
      Entfernt das erste Element der Queue und liefert dessen Wert zurück.

      Nach dem Entfernen rückt das nächste Element an die Kopfposition der Queue nach.

      Laufzeit: O(1)

      Specified by:
      dequeue in interface Queue<T>
      Returns:
      entferntes erstes Element der Queue
      Throws:
      RuntimeException - wenn die Queue leer ist