Dynamische Datenstruktur: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 16: Zeile 16:


=== Unidirektional ===
=== Unidirektional ===
[[Datei:Unidirektionaler Knoten.png|mini]]
Unidirektional (lateinisch ''uni'' für „ein“) bedeutet, dass mit Hilfe eines Zeigers nur in eine Richtung verwiesen wird. So kann zum Beispiel ein unidirektionaler Knoten nur auf seinen Nachfolger, nicht aber auf seinen Vorgänger verweisen.
Unidirektional (lateinisch ''uni'' für „ein“) bedeutet, dass mit Hilfe eines Zeigers nur in eine Richtung verwiesen wird. So kann zum Beispiel ein unidirektionaler Knoten nur auf seinen Nachfolger, nicht aber auf seinen Vorgänger verweisen.
[[Datei:Unidirektionaler Knoten.png|mini]]
 
=== Bidirektional ===
=== Bidirektional ===
[[Datei:Bidirektionaler Knoten.png|mini]]
Ein bidirektionaler (nach der lateinischen Vorsilbe ''bi-'' für „zwei“) Knoten kann in zwei Richtungen verweisen. So kann zum Beispiel ein bidirektionaler Knoten nicht nur auf seinen Nachfolger, sondern auch zusätzlich auf seinen Vorgänger verweisen.
Ein bidirektionaler (nach der lateinischen Vorsilbe ''bi-'' für „zwei“) Knoten kann in zwei Richtungen verweisen. So kann zum Beispiel ein bidirektionaler Knoten nicht nur auf seinen Nachfolger, sondern auch zusätzlich auf seinen Vorgänger verweisen.
[[Datei:Bidirektionaler Knoten.png|mini]]
 
== Beispiel ==
== Beispiel ==
<math>meineListe \rightarrow 5 \rightarrow 42 \rightarrow 16</math>
[[Datei:BlueJ Inspektion.png|mini]]
<math>
meineListe \rightarrow \boxed{5}\boxed{\phantom{5}}
\rightarrow \boxed{42}\boxed{\phantom{42}}
\rightarrow \boxed{16}\boxed{\phantom{16}}
</math>
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
public class Knoten {
public class Knoten {
Zeile 28: Zeile 35:
private Knoten naechster; // Zeiger auf den nächsten Knoten
private Knoten naechster; // Zeiger auf den nächsten Knoten


text
// einfacher Konstruktor
// einfacher Konstruktor
public Knoten() {
public Knoten() {
Zeile 75: Zeile 81:
}
}
</syntaxhighlight>
</syntaxhighlight>
[[Datei:BlueJ Inspektion.png|mini]]
== Collection Framework ==
== Collection Framework ==
[[Java]] fasst die bereitgestellten Datenbehälter im Java Collection Framework zusammen. Neben den eigentlichen Containern gehören auch noch Standardmethoden wie beispielsweise das [[Sortierverfahren|Sortieren]] dazu, die auf den Containern arbeiten. Die Grundlage dieses Frameworks sind so genannte Interfaces, die das typische Verhalten der Datencontainer vorgeben.
[[Java]] fasst die bereitgestellten Datenbehälter im Java Collection Framework zusammen. Neben den eigentlichen Containern gehören auch noch Standardmethoden wie beispielsweise das [[Sortierverfahren|Sortieren]] dazu, die auf den Containern arbeiten. Die Grundlage dieses Frameworks sind so genannte Interfaces, die das typische Verhalten der Datencontainer vorgeben.