c++ - 如何检查2D vector 元素是否在某个索引范围内

标签 c++ vector

我想检查2d vector 的某个元素是否在索引范围内。例如,我有以下 vector :

{1,  2,  3,  4,  5,
 6,  7,  8,  9,  10,
 11, 12, 13, 14, 15}

如何检查元素编号7(或[1][1])在x轴上的索引范围是0到2还是在y轴上的索引范围是0到1?或者换句话说,左上角是 vector 的3x2分区。

最佳答案

对于y轴,您可以这样做:

index/width < yLimit

对于x轴,将如下所示:
index%width < xLimit

其中width是2d数组的宽度,而xLimityLimit是您希望x轴编号和y轴编号分别为最大值。

请注意,无论如何此数字都应大于或等于0,因为在C++中负数不是问题。

还要注意,我在这里使用<,但是如果您想在可能的索引中包括12,我会侦查,您应该改用<=

如果您希望它们在一起,那么逻辑and会做得很好:
index/width < yLimit && index%width < xLimit

关于c++ - 如何检查2D vector 元素是否在某个索引范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60910327/

相关文章:

c++ - 如何将多维动态数组传递给 C++ 中的函数

c++ - 如何链接到 Visual C++ 2010 中的 .lib 文件?没有引用项目?

c++ - 使用 Boost,如何将自定义边缘属性作为结构放置/获取?

vector - 以相同的方法在向量中查找并推送元素

graphics - 如何与雅典建立线路?

r - 如何测试对象是否为向量

c++ - STL或Boost中是否有容器在修改后保留排序值?

c++ - 抽象基类实现

r - 括号使向量不同。矢量表达式究竟是如何计算的?

c++ - vector 元素和 txt 文件行之间的字符串比较不起作用