我有一个不一定满的数组。
它可以非常稀疏。
有没有一种不用访问所有可能的索引就可以遍历这个数组的好方法? (C++ 数组迭代器?)
或者,即使我使用数组迭代器,它与访问每个索引并检查值没有什么不同吗?
最佳答案
是的,如果你使用迭代器,就相当于访问每个索引并检查值,并且没有跳过逻辑漏洞的好方法。您可以保留一个好的索引列表,但如果您这样做了,那为什么不首先使用一个列表来存储数据呢?
如果您的数据非常稀疏,也许更好的数据结构是 std::map
,甚至是 std::unordered_map
,具体取决于您的应用程序。它们具有不错的查找时间,同时又不会浪费太多空间,就像数组所必须的那样。
关于c++ - 关于c++中遍历数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934874/