具有 Zig Zag 顺序的 2D 数组到 1D 数组算法

vo1*_*o1d 0 arrays algorithm multidimensional-array

我有一个 8x8 数组,想将其转换为具有 64 个字段的一维数组。但在这个特殊的之字形顺序中:

在此输入图像描述

我想要聪明的方法,但我不知道。我有两种可能的理论,但它们并不聪明。任何想法?

Jam*_*mes 5

有一个包含 64 个条目的数组,用于按照锯齿形模式访问索引的顺序保存索引。您可能会使用它们作为某些缓冲区的偏移量。这是 JPEG 的东西吧?

int[] zigzag = {0, 1, 8, 16, 9, 2, ... etc};
Run Code Online (Sandbox Code Playgroud)