キューのようなデータ構造があり、任意のポイントでのエレメントの削除もサポートしていますか?エンキューおよびデキューは最も頻繁に発生しますが、中途半端な要素の削除はスピードの点で似ている必要があります。なぜなら、それが最も一般的な操作である期間があるからです。絶対速度よりもパフォーマンスの一貫性が重要です。時間は記憶より重要です。キューの長さは、絶対最大負荷で1,000要素以下では小さくなります。明白でない場合は、明示的に述べます:ランダム挿入は不要です。ランダムアクセスエレメントを削除したキューのようなデータ構造
これは私の実装言語であるため、C++にタグ付けされていますが、私はSTLまたはBoostを使用していません。 (C言語のソリューションをC++クラスに変換します)
編集:私が望むのは、キューインターフェイス(または辞書インターフェイスも持つキュー)を持つ種類の辞書です。私はこのようなことを行うことができるように:
Container.enqueue(myObjPtr1);
MyObj *myObjPtr2 = Container.dequeue();
Container.remove(myObjPtr3);
なぜSTLまたはブーストしないのですか?彼らは純粋なC + +です。それ以外の場合は、独自のデータ構造を記述する必要があります。 – DumbCoder
STLはありませんか?それから、あなた自身で書く必要があります。私は左の子にいくつのノードがあるかのカウントを更新してツリーに行きます。すべてlog(n)する必要があります。 –
'(私はC++クラスでCの解を包みます)'私はこれ以上読むことを拒否します –