0
我有一個排序的std::vector
相對較小的大小(從5到20個元素)。 我用std::vector
因爲數據是連續的,所以我有速度,因爲緩存。 在一個特定的點上,我需要從這個vector
中刪除一個元素。std :: vector vs std :: insert
我現在有一個疑問:哪種方法可以在以下兩個選項之間移除該值的最快方法?
- 該元素設置爲0,並調用
sort
重新排序:這具有複雜性,但 元件是在相同的高速緩存行。 - 請致電
erase
將複製(或memcpy誰知道??)後它的所有元素 1地方(我需要調查擦除後的scense)。
你知道哪一個更快嗎?
我認爲同樣的方法可以考慮插入一個新的元素而不碰到矢量的最大容量。
問候
AFG
爲什麼你不測量和發現? –
此外,我沒有看到如何排序(涉及複製)可能比只是複製更快。 –
...以及容器元素的類型也很重要。 – dirkgently