faecher:informatik:oberstufe:adt:queue:array_queue:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:adt:queue:array_queue:start [11.11.2021 07:11] sbelfaecher:informatik:oberstufe:adt:queue:array_queue:start [23.04.2024 10:04] (aktuell) Frank Schiebel
Zeile 1: Zeile 1:
 ====== Alternative Implementation einer Schlange als Array ====== ====== Alternative Implementation einer Schlange als Array ======
  
-Da es sich bei einer Schlange um einen asbtrakten Datentyp handelt, spielt es für die Funktionalität keine Rolle, wie die Elemente im Hintergrund verwaltet werden.+Da es sich bei einer Schlange um einen abstrakten Datentyp handelt, spielt es für die Funktionalität keine Rolle, wie die Elemente im Hintergrund verwaltet werden.
 {{ :faecher:informatik:oberstufe:adt:queue:array_queue:queue_array.png|}} {{ :faecher:informatik:oberstufe:adt:queue:array_queue:queue_array.png|}}
 Die Elemente der Queue können auch in einem Array gespeichert werden. Dabei merkt man sich mit Hilfe zweier Attribute ''first'' und ''last'', welcher Bereich des Arrays die Queue repräsentiert.  Die Elemente der Queue können auch in einem Array gespeichert werden. Dabei merkt man sich mit Hilfe zweier Attribute ''first'' und ''last'', welcher Bereich des Arrays die Queue repräsentiert. 
Zeile 11: Zeile 11:
   * Wenn nach dem Einfügen eines neuen Wertes ''first'' und ''last'' gleich sind, ist das Array //"voll"// (Beispiel 5). Damit später weiterhin Elemente eingefügt werden können, muss das Array vergrößert werden. Man erzeugt ein neues Array, das z.B. doppelt so groß ist und kopiert die alten Werte ins neue Array. Dann passt man die Indizes ''first'' und ''last'' passend an.   * Wenn nach dem Einfügen eines neuen Wertes ''first'' und ''last'' gleich sind, ist das Array //"voll"// (Beispiel 5). Damit später weiterhin Elemente eingefügt werden können, muss das Array vergrößert werden. Man erzeugt ein neues Array, das z.B. doppelt so groß ist und kopiert die alten Werte ins neue Array. Dann passt man die Indizes ''first'' und ''last'' passend an.
  
-Implementieren die Klasse ''ArrayQueue'' nach diesem Prinzip und führe die Tests der zugehörigen Testklasse aus.+Implementiere die Klasse ''ArrayQueue'' nach diesem Prinzip und führe die Tests der zugehörigen Testklasse aus. Eine entsprechende Codevorlage [[ https://codeberg.org/qg-info-unterricht/bluej-array-queue|findest du hier]]. 
 + 
  
 **Hinweis:** In Java kann man kein Array eines generischen Typs erzeugen. Stattdessen erzeugt man ein Object-Array und führt beim Auslesen einen Cast zum generischen Typ T aus: **Hinweis:** In Java kann man kein Array eines generischen Typs erzeugen. Stattdessen erzeugt man ein Object-Array und führt beim Auslesen einen Cast zum generischen Typ T aus:
Zeile 18: Zeile 20:
 Object[] daten = new Object[10]; Object[] daten = new Object[10];
 ... ...
-front = (T)daten[5];+myValue = (T)daten[5];
 </code> </code>
  • faecher/informatik/oberstufe/adt/queue/array_queue/start.1636614708.txt.gz
  • Zuletzt geändert: 11.11.2021 07:11
  • von sbel