• Keine Ergebnisse gefunden

Beuth Hochschule Einfügen in eine verkettete Liste (LongSpeicher30) WS17/18, S. 1

N/A
N/A
Protected

Academic year: 2021

Aktie "Beuth Hochschule Einfügen in eine verkettete Liste (LongSpeicher30) WS17/18, S. 1"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Beuth Hochschule Einfügen in eine verkettete Liste (LongSpeicher30) WS17/18, S. 1 Einfügen in eine verkettete Liste (LongSpeicher30)

Angenommen, wir haben ein LongSpeicher30-Objekt erzeugen lassen wie folgt:

1 LongSpeicher30 lob = new LongSpeicher30();

Die Variable lob sieht in Bojendarstellung etwa so aus:

110 100

0 210 next

data

210 200

0 null next

data

ADK EDK

ADK

60 50 lob

Die Variable lob zeigt auf ein LongSpeicher30-Objekt (das lange Rechteck "von ganz links nach ganz rechts"). Dieses Objekt ist (zur Zeit) eine leere Liste von Knoten-Objekten (das kann später geän- dert werden). Mit "das lob-Objekt" ist dieses Objekt (das lange Rechteck) gemeint.

Eine leere Liste besteht aus 2 Dummy-Knoten. Deshalb enthält das lob-Objekt zwei Knoten-Attribute namens ADK ("Anfangs-Dummy-Knoten") und EDK ("End-Dummy-Knoten").

Zur Erinnerung: Ein Attribut (engl. field) ist eine Variable, die (direkt) innerhalb einer Klasse vereinbart wurde (und nicht in einer Methode oder einem Konstruktor).

Achtung: Nur drei Teile dieser Attribute (Name, Referenz und Wert) befinden sich innerhalb des lob- Objekts. Ihre Zielwerte (die Knoten-Objekte) befinden sich außerhalb.

Mit "das ADK-Objekt" ist das kleine Rechteck ganz links gemeint, welches ein Knote-Attribut namens next und ein long-Attribut namens data enthält. Das EDK-Objekt steht ganz rechts.

Die Variable lob ist ausführlich dargestellt (mit Namen, Referenz, Wert und Zielwert).

Die Attribute ADK und EDK des lob-Objekts sind ebenfalls ausführlich dargestellt.

Die Attribute namens next und data der beiden Knoten-Objekte sind abgekürzt dargestellt (d.h. ihre Referenzen sind nicht eingezeichnet, weil sie hier nicht wichtig sind und um die Grafik zu vereinfachen).

Zur Erinnerung: Alle Zahlen, die in spitzen Klammern stehen (<100>, <200>, [<110>], [<210>]) hat der Ausführer festgelegt, ganz "nach seinem Geschmack". Wenn Sie die Rolle des Aus- führers übernehmen, dürfen/müssen Sie diese Zahlen festlegen (nach Ihrem Geschmack).

Beachten Sie: Die Knoten-Variable EDK und die Knoten-Variable ADK.next haben gleiche Werte (nämlich [<210>]). Damit zeigen sie auf dasselbe Knoten-Objekt (nämlich auf das EDK-Objekt. Des- sen next-Attribut hat den Wert null).

In dieses lob-Objekt sollen jetzt durch die folgenden Befehle 3 Komponenten eingefügt werden:

2 lob.fuegeEin(55);

3 lob.fuegeEin(33);

4 lob.fuegeEin(44);

Wie sieht die Bojen-Darstellung der Variablen lob nach jedem Einfügen aus?

(2)

S. 2, WS17/18 Einfügen in eine verkettete Liste (LongSpeicher30) Beuth-Hochschule Nach dem Einfügen der einzelnen long-Werte sehen die Variablen ADK und EDK etwa so aus:

110 100

0 220 next

data

210 200

0 null next

data

ADK EDK

ADK

55 210 next

data

110 100

0 230 next

data

210 200

0 null next

data

ADK EDK

ADK

55 210 next

data 33

220 next

data

110 100

0 240 next

data

210 200

0 null next

data

ADK EDK

ADK

55 210 next

data 33

220 next

data 44

230 next

data lob.fuegeEin(33);

lob.fuegeEin(44);

lob.fuegeEin(55);

(3)

Beuth Hochschule Einfügen in eine verkettete Liste (LongSpeicher30) WS17/18, S. 3

110 100

0 210 next

data

210 200

0 null next

data

ADK EDK

ADK

60 50 lob2

110 100

0 260 next

data

210 200

0 null next

data

ADK EDK

ADK

55 210 next

data 33

220 next

data 44

230 next

data LongSpeicher30 lob2 = new LongSpeicher30();

lob.fuegeEin(55);

lob.fuegeEin(33);

lob.fuegeEin(44);

lob.fuegeEin(77);

lob.fuegeEin(66);

77 240 next

data 66

250 next

data

60 50 lob2

Eine noch etwas größere Samlung vom Typ LongSpeicher30 - im leeren Zustand und

- nach dem Einfügen der 5 long-Werte 55, 33, 44, 77, 66 Ziel-Werte (Objekte) sindfett umrandet.

Referenzen

ÄHNLICHE DOKUMENTE

In der obersten Zeile Linksklick auf das Icon Editor, dann Linksklick auf den Reiter Formatting.. Nach Language: die Alternative

In diesem Abschnitt soll gezeigt werden, dass es manchmal noch einen einfacheren Weg gibt, um eine weitere Ordnung für eine Klasse K zu definieren: Wenn man schon ein oder

Wenn dieser (Referenz-) Wert auf ein Objekt zeigt (d.h. wenn er ungleich null ist), kann man die Übergabe auch so beschreiben: Das Objekt wird per Referenz übergeben (d.h. die

The array object ar (the target-value of the variable ar) contains 3 elements and additionally an int- variable named length with value 3. In all arrays this length -variable

Hinweise: Solange man keine Doppelgänger einfügt, sehen Sammlungen des Typs LongSpeicher50 und LongSpeicher51 genau gleich aus.. Nr Bezeichnung

Welche Knoten haben einen leeren linken Unterbaum (und gehören somit zum Fall 2).. Welche Knoten haben einen leeren rechten Unterbaum (und gehören somit zum

This class offers constant time performance for the basic operations (add, remove, contains and size), assuming the hash function disperses the elements properly among the

Für die 14 Beispiel-Schlüssel ist hash03 nicht besonders gut, denn sie lässt 5 der 10 Listen leer und bewirkt, dass 8 der 14 Schlüssel in dieselbe Liste (ht[5]) eingefügt werden..