gpt4 book ai didi

C++:容器替换 vector/deque 的巨大尺寸

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:59 25 4
gpt4 key购买 nike

所以我的应用程序有包含 1 亿个或更多元素的容器。

我正在寻找一个容器,它的行为在时间上优于 std::deque(更不用说 std::vector)关于整个容器的频繁插入和删除......包括靠近中间。访问第 n 个元素的时间不需要像 vector 一样快,但绝对应该比 std::list 中的完全遍历更好(无论如何每个元素都有巨大的内存开销)。

元素应按索引排序(如 vector、deque、list),因此 std::set 或 std::unordered_set 也不能​​正常工作。

在我坐下来自己编写这样一个容器之前:有人见过这样的野兽吗?我很确定 STL 没有这样的东西,寻找 BOOST 我没有找到我可以使用的东西,但我可能是错的。

有什么提示吗?

最佳答案

如果您的应用程序以此类数据为中心,则可以用整个 STL 替代大数据:


编辑:其实我回答的有点快。一亿并不是一个很大的数字。例如,如果每个元素都是一个字节,您可以将其保存在一个 96MiB 数组中。因此,无论 STXXL 是否有用,元素的大小都应该大得多。

关于C++:容器替换 vector/deque 的巨大尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11672526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com