Node
他のオブジェクトへの参照を持つオブジェクトを使用して、ツリーのような構造を持っていNode
ます。Node
クラスです。今、私が書いているルーチンの 1 つは、最小優先度のキューを必要とします。これは、 と を使用して実装しstd.container.BinaryHeap
ていstd.container.Array
ます。次のようにインスタンス化しています。
Node[] r;
auto heap = BinaryHeap!(Array!(Node), "a > b")(Array!Node(r));
ルーチンの一部として、 using に要素を挿入し、heap
usinginsert
から要素を削除しremoveAny
ます。現在、ルーチンは正しく機能しますが、その後、ノードが欠落しているため、ツリーのような構造が壊れます (それに対する私の不変条件は失敗します)。ここで何が起こっていて、なぜこれが起こっているのですか?