私は非常に古いCコードをC++に移植しており、配列内に実装されたリンクリストを介して実行しています。この要素は単純な構造です。実装方法についての考え方は?
インデックスとしてわかっている場合は、配列として、データにすばやくアクセスできます。リンクされたリストのアスペクトは、要素を移動させ、リストから「削除」することができます。エレメントは、使用頻度に基づいてリスト内で移動できます(MRUの場合は上、LRUの場合は下)。
私はこれを実装するために、別の配列を使うよりも良い方法を見つけるのが好きです。私はSTLを使いたいと思いますが、どのコンテナを使うのが最適かはわかりません。
いずれかの考えがありますか?
ランダムアクセス速度は非常に重要ですか?反復するのではなく、たくさん*発生するのでしょうか? – Guy
これはコードの残りの部分でどのように使用されているかによってまったく異なります。直接アクセスは要素にアクセスする一般的な方法ですか、それとも主にリストを踏んで実行されますか?いくつかの要素は他の要素より頻繁にアクセスされますか? – suszterpatt
コンテナの中央からアイテムを追加/削除していても、 'std :: vector'がほとんど常に' std :: list'よりも優れた選択肢であるという主張を主張した(そして擁護した)記事を読んでいます。私は今記事を見つけることができないので、答えの代わりにこれをコメントとして追加しました。記事を知っている他の人がリンクを投稿できるのであれば、私は感謝しています。 –