一千萬個為什麽

搜索

std :: list或std :: multimap

嘿,我現在有一個我做的結構列表,我每次使用std :: list排序方法添加新對象時都會對此列表進行排序。 我想知道什麽會更快,使用std :: multimap為this或std :: list, 因為我每幀都在叠代整個列表(我正在制作遊戲)。

我想聽聽你的意見,我應該為這次事件使用什麽。

最佳答案

std::multimap will probably be faster, as it is O(log n) per insertion, whereas an insert and sort of the list is O(n log n).

根據您的使用模式,您可能最好使用已排序的 vector 。如果你一次插入一大堆項目,然後做一堆讀取 - 即讀取和寫入不是交錯的 - 那麽你將使用 vectorstd獲得更好的性能:: sortstd :: binary_search

轉載註明原文: std :: list或std :: multimap