【发布时间】:2010-05-07 19:56:48
【问题描述】:
据我所知,访问向量中的元素需要恒定时间,而在地图中访问元素需要对数时间。但是,存储地图比存储矢量占用更少的内存。
所以,我想问一下,一般来说哪一个比较好?我正在考虑在我的程序中使用这两个中的一个,它有大约 1000 个元素。我计划使用 3 维向量,它需要 1000x1000x1000 个元素。
【问题讨论】:
-
您确定地图使用的空间比矢量少吗?
-
取决于你想对容器做什么。看这个流程图:linuxsoftware.co.nz/containerchoice.png
-
在发布更多此类问题之前,也许阅读有关标准库的书?
-
鉴于你的第一段,你为什么要问这个问题!?一般来说,两者都不是更好。它们适用于不同的应用。另外为什么要问“一般”,然后给出具体的应用程序!?您的应用程序的描述过于模糊;但想想 1000x1000x1000 = 1,000,000,000;你真的要为 1000 个对象使用那么多 Gb 吗?!
-
一般来说,木工中的锤子和锯子哪个更好?