如何到达向量的第N个元素,其中内部向量可能具有不同的长度?

冗长

假设我们有一张桌子:std::vector< std::vector<int> > table(3, std::vector<int>)看起来像这样:

 11 21 31 41 45 51 61 
 71 81 91 10 19 29
 39 49 59 69 79 89 99 109

我们得到int nThPos的元素总数在1到N之间table(此处为21)。

在表中查找与元素#nThPos或其坐标([row] [col])相对应的元素的最有效方法是什么?

对于此特定情况,表沿哪个方向展平无关紧要:如果为nThPos == 8,则结果可以是71(即[1] [0])或91(即[1] [2])。

注意:我的问题与这一问题非常相似但是我的情况是内部向量具有不同的长度。

联合部队

如果您不选择维护某些辅助数据(或选择完全不同的基本表示形式),那么没有比最明显的方法有效的方法(遍历外部向量累积内部向量的总大小,直到到达正确的内部向量)。

如果效率很重要,请以其他方式存储数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R:来自具有2个可能条件(+/-)的元素向量的所有可能组合

提取向量的第n个元素

生成具有0或1个元素的特定长度的所有向量

如何获得R中两个向量之间的元素的第n个匹配项?

具有最多N个相等元素位置的c ++向量

使一个字符向量的所有元素都具有相同的长度

Python:计算具有不同长度的列表中第n个元素的平均值

如何获取列表中每个项目的第n个元素,该元素本身是未知长度的向量

检查一个向量中的值是否小于另一个向量(具有不同长度)中的值,并用Y / N答案填充表格

对于向量不同元素具有不同任务的循环

为Tensorflow中具有N个不同元素的长度为L的向量分配介于0和N -1之间的值

如何将具有不同长度向量的大列表转换为数据帧?

如何从字符向量中的不同文本中删除具有不同长度的文本块?

不包含向量列表的数据帧在不列出时如何具有不同的长度?

R:来自具有两个条件的元素向量的所有长度的所有组合

Matlab:比较两个具有不同长度和不同值的向量吗?

根据包含全局地址的各自索引向量将两个不同长度的向量拼接到具有推力的公共长度的新向量上

查找长度为k的向量的所有非等价排列,并取n个可能值

从第n个元素开始迭代向量

在R中向量的第n个元素之后加上值

连接R中的字符向量,其中某些元素具有0个字符

迭代两个具有不同长度的向量

如何选择具有最大第 n 个元素的向量

如何执行具有不同维度的两个向量的逐元素乘法

如何将向量拆分为 R 中具有指定子向量长度的子向量

在 Simulink 中动态获取向量的第 n 个元素

获取向量元素的第 n 个最小值

r 中具有不同长度的逻辑向量的引用

如何将向量的第 i 个元素粘贴到向量列表的第 i 个元素