Verkettete Listen in C++ und Visual Basic (Informatik)


zurück zu Informatik, Homepage


4. Realisierung einer einfach verketteten Liste in Visual Basic

(Einfach) Verkettete Listen lassen sich auch in Visual Basic sehr gut realisieren. Hier soll nun die grundsätzliche Vorgehensweise an einem sehr einfachen Beispiel gezeigt werden.

In dieses Beispiel soll eine Textliste (z.B. eine Namensliste) erstellt werden, wobei ein neuer Knoten immer nur an das Ende der Liste angehängt werden soll. Das Löschen eines einzelnen Knotens und das Scrollen wurde hier bewusst (noch) nicht realisiert. Die Abbildung am Ende dieses Kapitels zeigt das ausgeführte Programm.

Da auch Visual Basic eine objektorientierte Sprache ist, und daher das Konzept der Klassen sehr gut unterstützt, wurde auch dieses Beispiel mit Klassen realisiert. Auch hier wurde die gesamte Liste wieder mit zwei Klassen realisiert:

Realisierung einer einfach verketteten Liste in Visual Basic

Anmerkung: Auch hier gilt, dass dies hier kein Visual-Basic-Kurs ist. Ich beschreibe hier nur kurz die wesentlichen Punkte für eine mögliche Realisierung der einfach verketteten Listen in Visual Basic (Version 6).
Ich gehe daher auch hier davon aus, dass der/die Leser(in) die Grundlagen von Visual Basic kennt und diese auch beherrscht. Wenn nicht so empfehle ich die Bücher Jetzt lerne ich Visual Basic [3], Visual Basic 6 - Grundlagen und Profiwissen [4] und als Nachschlagerefernez das Buch Visual Basic 6 Referenz [5]. Auch im Internet gibt es eine Fülle von Informationen zu Visual Basic. Hier sei nur [6] erwähnt.

nach oben

4.1. Klasse clsNodeE

Auch in Visual Basic ist diese Klasse sehr einfach. (Datei clsNodeE.pdf (35 KB) ). Sie beinhaltet nur die Membervariablen für die Daten (hier also m_sValue, Zeile 18, für einen String) und den Zeiger zum folgenden Knoten m_pNext, Zeile 20), einen Konstruktor zur Initialisierung der Membervariablen (Zeilen 42 bis 47) einen Destruktor, der hier eigentlich keine Aufgabe hat (Zeilen 61 und 62), und die Funktionen zum Setzen und Auslesen dieser Membervariablen (Zeilen 66 bis 83).

Anmerkung zu den Zeilennummern: Die Zeilennummern sind auch hier nicht Bestandteil des Quellcodes. Sie dienen auch hier nur der besseren Orientierung.

nach oben

4.2. Klasse clsLinkedListE

Die KLasse clsLinkedListE clsLinkedListE.pdf (71 KB) ist auch hier schon etwas umfangreicher. Diese Klasse realisiert die eigentliche verkettete Liste, wobei hier nur das Hinzufügen eines neuen Knotens ans Ende der Liste (Zeilen 114 bis 140), das Anzeigen der gesamten Liste in einer so genannten List-Box (Zeilen 167 bis 188) und das Entfernen der gesamten Liste (Zeilen 225 bis 260) realisiert sind. Weiters den Konstruktor zur Initialisierung der Membervariablen (Zeilen 40 bis 43) und einen Destruktor zum Entfernen der gesamten Liste (Zeilen 58 bis 63).
Dieses Beispiel wurde bewusst so gewählt, da es nur die allerwichtigsten Funktionen beinhalten soll, um das Prinzip der verketteten Liste auch in Visual Basic zu demonstrieren.

Aufgrund der ausgiebigen Kommentar verzichte ich auch hier auf eine weitere Beschreibung.

Zu Beachten ist vielleicht, dass auch hier der Speicher für jedes Objekt, also für jeden Knoten, dynamisch angefordert wird, und dieser daher im Destruktor wieder an das Betriebssystem zurückgegeben werden muss. Im Gegensatz zu C++ gibt es in Visual Basic keine vordefinierte Funktion zum Entfernen von Objekten. In Visual Basic werden Objekte automatisch entfernt, wenn es zu diesem Objekt keine Referenzen mehr gibt. D.h. Wenn in Visual Basic ein Objekt geöscht werden soll, müssen alle Referenzen, die auf dieses Objekt zeigen mit "Nothing" geladen werden.

nach oben

4.3. Demonstrationsbeispiel

Auch das Demonstrationsbeispiel ist sehr einfach. Dazu wird ein einfaches Formular (hier: frmLinkedListE) mit den folgenden (Standard-)Steuerelemente benötigt:

Die folgende Abbildung zeigt die Anordnung dieser Steuerelemente.

Steuerelemente für eine einfach Verketteten Liste (Visual Basic)

So einfach wie das Formular ist, so einfach ist auch der Quellcode der dahintersteckt. Die Datei frmLinkedListE.pdf (28 KB) zeigt das relativ kurze Programm.

Hier nur kurz die wesentlichen Punkte:
In der Ereignisprozedur Form_Load muss eine Instanz der Verketteten Liste erzeugt werden (Zeilen 18 bis 21).
Das Hinzufügen eines neuen Knotens erfolgt durch das Anklicken der Taste cmdNeueDaten (Zeilen 25 bis 30), und das Anzeigen der gesamten Liste durch Anklicken der Taste cmdListeAnzeigen (Zeilen 34 bis 39).

Die folgende Abbildung zeigt das erfolgreich kompilierte Programm in Aktion.

Einfaches Demo für eine einfach verkettete Liste in Visual Basic
nach oben


zurück zu Informatik, Homepage

Autor: Buchgeher Stefan
Erstellt: 10. März 2007
Letzte Änderung: