Frage

Ich lerne derzeit über Datenstrukturen und verknüpfte Listen. Ich versuche, eine doppelt verlinkte Liste zu erstellen, und ich bin mir nicht sicher, wie ich es tun soll. Die Daten des 'Knoten' Ich möchte eine Klasse sein, die ich bereits erstellt habe. Alles, was ich online über verknüpfte Listen finden kann, verwenden sie nur Ganzzahlwerte, und ich bin mir nicht sicher, wie man andere Klassen integriert.

Was ich denke, was ich tun würde, ist ...

Ich habe ein abstraktes Klassenkonto '. Dann werden Klassen 'Sparke' und 'Checking' von Account abgeleitet. Ich möchte die Daten des "Knotens" als Kontodyp, möglicherweise ein Basisklasse-Zeiger, so dass sowohl "Sparke" als auch "Überprüfen" verwendet werden können.

was ich nicht sicher bin Die Klasse 'Liste' würde die verknüpfte Liste verwalten und die neuen Knoten erstellen. Aber wie würde ich dann auf die Mitgliederfunktionen des Kontos zugreifen?

Ich habe mich gefragt, was der beste Weg, dies zu nähern, ist? Sollte ich Getters dem Class 'Node' hinzufügen, der Concon-Getter-Funktionen anrufen, um Daten über das Konto abzurufen? Oder würde es besser sein, einfach "Ersparnis" zu machen und die Knoten selbst "überprüfen" und einen nächsten Zeiger und einen vorherigen Zeiger auf die privaten Datenmitglieder hinzufügen?

War es hilfreich?

Lösung

Sie sollten eine generische doppelte Liste erstellen

generasacodicetagpre.

Auf diese Weise würde Ihre Liste dienen, wie es sollte - als Liste. Wenn Sie jetzt eine Liste von Konten benötigen, deklarieren Sie einfach ein

generasacodicetagpre.

und wenn Sie einige Beziehungen zwischen Konto und dem Rest haben müssen, können Sie Erbschaft verwenden.

Die Tatsache, dass Sie Ihre Liste generisch und nicht auf einen beliebigen Typ beschränken, würde Ihren Code eleganter, sauber und sinnvoll aussehen lassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top