复制一个1D阵列中的一排值,该值代表三维网格



所以我有一个1D数组,代表代表游戏世界的数字的3D网格,我访问单个条目(x,y,z),例如:

array[x + width * (y + height * z)]

有没有一种方法可以复制整个行(例如,(1,1)的所有z值)而无需循环(我已经在每个条目中循环循环。我想通过检查空的空位来保存性能行(所有0)并跳过处理)?如果可能的话,我宁愿不要使用锯齿状的数组。

您必须确保将数据元素线性排列为内存中的行:

row|row|row ...等等

您可以使用问题中提到的相同类型的数组访问算术算术,以确定该行的索引范围,让我们调用范围n->m,然后根据以下内容进行元素n->m的快速块副本:ul>

  • memcpy- C/C
  • Array.Copy -c#
  • Arrays.copyOfRange -Java,适合本地类型;循环副本可能更好。
  • 每个将nm-n分别为startsize参数。

    大多数语言都会具有某种形式的块数组副本的实现,该副本使用引擎盖下的本机代码,即执行A 本机副本。。

    相关内容

    • 没有找到相关文章

    最新更新