パラメータ位置に適切な値を指定することにより、の効率をmap::insert(iterator position, const value& k)
劇的に向上させることができます。
キーとして整数を使用し、すべての挿入が以前に挿入されたすべてのキーよりも大きい数で行われる場合、マップのイテレーターを指定::insert
するときに操作を高速化できますか?::end()
何かのようなもの:
myMap.insert( myMap.end() , make_pair( next_number , myValue ) );
ここmyMap
で、はタイプmap<uint64_t,MyType>
でnext_number
あり、すべて増分する大きな整数です。
編集:
この質問に対する答えは、に格納されているデータmap
が密集しているかどうかによって異なる場合があります(以下の説明を参照)。それでは、両方の方法で質問してみましょう。密度が高い場合は密度が高くない場合です。まだ好奇心が強い。おそらく測定はそれに答えるでしょう。