2012-02-26 6 views
0

私は、特定の場所に子を挿入する機能を持つツリー実装を探しています。そこにあるほとんどの樹木は、普通の古い挿入物、Tree.insert(x)しか作れず、樹木の種類によっては特定の樹木の場所に行きます。変更を加えたツリーソースコード

私は誰もがSTLを使用していない、やや効率的なツリーのソースコード(C++またはC)の知っている場合node

x直接の子を作ることを意味し、Tree.insert(node, x)のようなものをサポートするコードを求め、上記を満たしている、それは非常に感謝します。

+6

特定の方法でノードを構成するためにツリー実装を必要としない場合は、ツリー実装で行うことはありません。 2つの子ポインタを持つクラスを作成し、それを持ってください。 –

+0

これは私の最後の手段です。 – CyberShot

+0

ツリーに子がどこに行くのかを示す独自の方法がない場合、どのようにインサートが動作するかはわかりません。どのようにしてインサートが既存のノードに影響を与えるのか –

答えて

0

tree.hhをチェックしてください。これはSTLのようなツリーインターフェイスを提供します。あなたが記述したのと同じように、イテレータと挿入する値を受け入れるメンバー関数はinsertappend_childです。あなたが非常に特殊なニーズを持っていない限り、パフォーマンスはほぼ確実です。

+0

が含まれていると思います。それはそれがSTLを意味しないのですか? – CyberShot

+2

@Cyber​​Shotサイトの例は '#include 'になりますが、私には分かりません。具体的にSTLの使用に間違いはありますか?実装は ''コンテナと ''アダプタと他の標準ヘッダに依存しています。しかし、なぜ世界でそれは重要なのでしょうか?標準ヘッダーは信頼されるべきものです。 –

+1

これは学術的な仕事のための仕様の一部です。 – CyberShot

関連する問題