c++ - 关于c++中遍历数组的问题

标签 c++ arrays

我有一个不一定满的数组。

它可以非常稀疏。

有没有一种不用访问所有可能的索引就可以遍历这个数组的好方法? (C++ 数组迭代器?)

或者,即使我使用数组迭代器,它与访问每个索引并检查值没有什么不同吗?

最佳答案

是的,如果你使用迭代器,就相当于访问每个索引并检查值,并且没有跳过逻辑漏洞的好方法。您可以保留一个好的索引列表,但如果您这样做了,那为什么不首先使用一个列表来存储数据呢?

如果您的数据非常稀疏,也许更好的数据结构是 std::map,甚至是 std::unordered_map,具体取决于您的应用程序。它们具有不错的查找时间,同时又不会浪费太多空间,就像数组所必须的那样。

关于c++ - 关于c++中遍历数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934874/

相关文章:

CLR dll 需要 C++ .lib 文件,但非 CLR 不需要

c - 我的 C 程序从用户输入中查找最接近的数字对没有打印正确的输出?

c - 我制作数组的方式有什么问题?

c++ - 强制转换和 namespace 运算符之间没有空格?

c++ - C++ 中相同的类成员名称和函数参数名称

c++ - 类成员变量

c++ - 无法将数据从txt文件写入对象

java - 将两个数组复制到一个数组

java - 2个二维数组相乘的方法

java - 使用 Java 从 mongodb 中检索数组值