我的应用程序有一个关键部分,包括获取数据源(无序),然后按顺序对每个元素执行算法。实际上我遵循下一个算法:
- 阅读源代码并将其放入 std::map,使用排序元素作为键,信息作为内容。
- 使用迭代器读取地图并执行算法。
我看到 map 可能不是最好的数据结构,因为我只需要将数据添加到排序列表中,然后完全“烧掉”列表(此外,移动设备上的内存分配成本很高,所以我更愿意这样做我自己)。
我做了一些研究,我正在阅读 B-trees 和 Black-Red Trees 之类的东西。它们可能是我正在寻找的东西,但我会在这里询问是否有人知道适合该任务的数据结构。
简而言之,我想要一个结构:
- 快速插入。
- 快速迭代(从头到尾)。
- 其他一切都不重要(无论是删除还是搜索)。
快速插入也比快速迭代更重要(我的分析器这么说:D)。
谢谢大家。