我如何像二维数组一样迭代四重链接的二维数据网格?
我的网格结构是:
typedef bool tile;
struct BLOCK;
typedef struct BLOCK block;
struct BLOCK {
const block * to_the_left;
const block * above;
const block * to_the_right;
const block * below;
tile data;
};
typedef struct {
const block * start;
} map;
我需要能够像二维数组一样遍历这个网格,这样我就可以在屏幕上以起始块为中心显示地图的图块。
PSS 我最希望看到 C 中的解决方案(这是我为这个项目编写的代码)、C++、Haskell 或 Java 代码,因为这些都是我熟悉的语言,但任何语言都可以。我只需要算法。
PSSS 为清楚起见,通过像二维数组一样迭代,我的意思是我需要获取 x 和 y 位置的索引作为变量。例如,我需要调用 mvaddch(y,x,'#')。