周末我将参加一个编程比赛,我想知道我应该使用std::vector还是std::map?我会简单地将它们用作数组,但我很困惑哪个更好(主要是基本操作的速度)?
我在stackoverflow上看到了这张照片,我不知道这些之间的主要区别是什么......
图片表明矢量更快......我真的不知道该怎么办请帮助我!我只需要像数组一样使用它们,但具有动态大小......在此先感谢,
编辑 我可能会得到一个整数的二维数组(例如城市或迷宫的地图,我会遇到一些可以用图形算法或动态编程解决的问题),所以我需要的是:写,读“表”的特定单元格,搜索特定值,我想就是这样。我听说 std::map 不会在内存中找到完整的 N*M 大小的表,但我会按值进行计算……那么它可能使用更少的内存是真的吗?
对不起,我太傻了,但我从来没有真正的老师,我学到了我所知道的一切。我刚开始学习数据结构(2-3棵树、红黑树、二项式堆等等……)