![]() |
Re: Neuer Titel, Altes Prob: Mein Binärbaum
hey, danke!
Wie geht das? dann mach ich es selbst ^^ Fee P.S.:Schon jemand was entdeckt? ich krieg noch die krise und mein info lehrer ist alles andere als hilfsbereit.... den kann ich nicht fragen :( :( :( Meine Klassen ignorieren sich gegenseitig, ich weiß auch nicht weiter... |
Re: HILFE! Dringed, warum geht das so nicht?
Zitat:
MfG Binärbaum |
Re: Neuer Titel, Altes Prob: Mein Binärbaum
ja ich weiß aber wie soll ich das sonst machen?
Die deklarationen hat mein info-lehrer vorgegeben, hat der sich vertan oder geht das? |
Re: Neuer Titel, Altes Prob: Mein Binärbaum
Zitat:
Man könnte die Deklaration so ändern:
Delphi-Quellcode:
Demzufolge würde ich die Funktionen für Einfügen usw. seperat schreiben, ohne Klassen zu verwenden. Dann kann man rekursiv auf dem Baum traversieren. Ist meines Erachtens nach einfacher zu implementieren, wenn auch nicht so schön wie mit Klassen.
type PBinTree = ^TBinTree;
TBinTree = record left, right: PBinTree; value: string; end; MfG Binärbaum |
Re: Neuer Titel, Altes Prob: Mein Binärbaum
Ja das ist das Prob, ich hab keine wahl.
sonst geht das nicht? das was du geschreiben hast, hatten wir noch nicht :( |
Re: Neuer Titel, Altes Prob: Mein Binärbaum
Tja, wenn das so vorgegeben ist, und du unbedingt im TBinTreeNode auf TBinTree.root zugreifen willst, dann kann man das über einen Zeiger lösen. Dazu übergibst du der Prozedur als zusätzlichen Parameter noch einen Pointer auf TBinTree. Somit kannst du auch darauf zugreifen.
(Was besseres fällt mir im Moment nicht ein.) [Edit] Oder darf man die Prozeduren auch nicht ändern? [/Edit] |
Re: Neuer Titel, Altes Prob: Mein Binärbaum
meinst du damit, ich soll in der prozedur noch eine variable vom typ TBintreenode (var wurzel:Tbintreenode) deklarieren und dann bsp: Wurzel:=root?
oder wurzel:=tbintree.root? |
Re: Neuer Titel, Altes Prob: Mein Binärbaum
ach was, VERGISS es!! Fang bloß nicht mit type PBinTreeNode = ^TBinTreeNode an, dein ansatz ist viel besser.
Problem ist dies:
Delphi-Quellcode:
was ist denn TBinTree? Eine Klasse. Also keine Instanz.
if neuerknoten.value=tbintree.root.value then begin
Der Inhalt von InsertLeft könnte wie folgt aussehen:
Delphi-Quellcode:
fertig, warum willst du irgendwas mit Root prüfen? Wozu braucht die Node überhaupt ein Wissen über die Root?
Left := L;
|
Re: Neuer Titel, Altes Prob: Mein Binärbaum
Zitat:
Delphi-Quellcode:
Das müsste dann funktionieren. Tree muss natürlich der zugehörige TBinTree sein.
procedure tbintreenode.insertLeft(l:tbintreenode; var Tree: TBinTree);
var neuerknoten,tl:tbintreenode; begin neuerknoten:=l; if neuerknoten.value=tree.root.value then begin end; end; |
Re: Neuer Titel, Altes Prob: Mein Binärbaum
Jo danke ich probiers mal aus!
:thumb: :thumb: :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz