方向数组
四连通
上(-1, 0)
右(0, 1)
下(1, 0)
左(0, -1)
//这里记前面的dx即可,dy与dx相反
int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};
八连通
上(-1, 0)
下(1, 0)
左(0, -1)
右(0, 1)
左上(-1, -1)
右上(-1, 1)
左下(1, -1)
右下(1, 1)
int dx[8] = {-1, 1, 0, 0, -1, -1, 1, 1}, dy[8] = {0, 0, -1, 1, -1, 1, -1, 1}
日字形八连通
int dx[8] = {-1, -2, -2, -1, 1, 2, 2, 1};
int dy[8] = {-2, -1, 1, 2, 2, 1, -1, -2};
数组清空,队列清空
memset(vis, 0, sizeof(vis)); //将数组vis全部修改为零(不能是其他数字!)
while (!q.empty()) q.pop(); //将队列清空