Hi,
für mich ist das da im Moment ein Gruselkabinett.
Zeiger kann ich schon nicht sehen. Was noch schlimmer ist : rekursive Prozeduren und dann noch zusammen mit Zeigern. Aber Du hast schon Recht wenn so etwas in der Art und Weise aufgebaut werden muß, dann wirklich schon rekursiv. Mit dynamischen Arrays habe ich mich noch nicht so beschäftigt, aber ist es nicht so, daß diese nur in sofern dynamisch sind, daß die Größe erst zur Laufzeit festgelegt wird ? Dies würde aber bedeuten, daß Du eine Maximallänge z.B. von 20 festlegst und eine
Exception kriegst falls es doch 21 Elemente sind. Bei einem mehrdimensionalen Baum glaube ich, ist es sehr wahrscheinlich, daß der sehr unausgeglichen ist. Hast Du nun aber einen Baum mit 4 Ästen von jeweils 2,10,15 und 200 Blättern, mußt Du für jeden Ast 200 Blätter vorsehen ! Da stehts ja sogar :
Zitat von
Borland:
Dynamic-array variables are implicitly pointers
Dyn. Arrays sind Pointer, die schon mal indiziert sind und deshalb einfacher zu handhaben sind. Ist die Maximalanzahl der Blätter eines Astes nicht von vorne herein klar, kommst Du an Pointern nicht vorbei. Für ein ähnliches Problem vor längerer Zeit bin ich jedenfalls nicht an Zeigerstrukturen rumgekommen. Ich bin mir fast sicher, daß diese Tatsache einer der wenigen Punkte ist, bei denen C++ Pascal / Delphi weit überlegen ist. Warum ist Unix wohl in C geschrieben?
Gruß
Hansa