我们在遍历图时往往会涉及到点的上下左右移动,使用二维数组对移动的方向做个记录,将变得简洁方便,下面给出了一个栗子():
#include<stdio.h>
struct Point{
int px;
int py;
};
int DIRECTION[4][2] = {
{0,-1},
{0,1},
{-1,0},
{1,0}
};
int main()
{
Point pt =Point{ 3, 4 };
printf("px=%d,py=%d\n", pt.px, pt.py);
//打印该点的上下左右相邻点
for (int i = 0; i < 4; i++)
{
printf("px=%d,py=%d\n", pt.px + DIRECTION[i][0], pt.py + DIRECTION[i][1]);
}
return 0;
}
其中
DIRECTION表示方格图中点的上下左右的横纵坐标偏移量。