在C++中顺序插入/读取/删除的最快数据结构是什么?

csr*_*tar 0 c++ memory-management data-structures

我将在一个文件中给出大约100k坐标.但元素的数量并不固定.我想将它们存储在数据结构中,这将是插入/顺序读取/删除最快数据结构.而数据结构在循环中顺序迭代.需要移除25%至70%的元素.此外,坐标的顺序很重要.

在这种情况下,在C++中插入/顺序读取/删除的最快数据结构是什么?

qua*_*dev 6

答案在很大程度上取决于你如何真正要使用你的容器.

不要惊慌:使用typedeffor std::vector开头(或任何其他conatiner,无所谓),并在容器上使代码通用(如STL算法所做的那样):

typedef std::vector<Points> Coordinates
Run Code Online (Sandbox Code Playgroud)

一旦你的程序启动并运行(并且你知道有多少添加/删除等等......你正在进行配置).

您可以通过更改此容器来自由更改容器类型(可能更改为std::list<>std::deque),并在现实生活场景中对每个容器进行适当的基准测试.typedef

此时,您将知道您需要哪个容器.