Java 从无对角线的矩阵中添加邻域
我试图在矩阵[3][3]中添加x位置的邻域,我想以一种有效的方式进行添加。目前,我可以添加所有邻居,但我只想添加顶部、底部、左侧和右侧的邻居。我的代码有什么问题Java 从无对角线的矩阵中添加邻域,java,Java,我试图在矩阵[3][3]中添加x位置的邻域,我想以一种有效的方式进行添加。目前,我可以添加所有邻居,但我只想添加顶部、底部、左侧和右侧的邻居。我的代码有什么问题 for(int i=line-1;i<=line+1;i++) { for(int j=col-1;j<=col+1;j++) { int[][] matrixAux = this.matrix; if(i<3 && j<3 && i
for(int i=line-1;i<=line+1;i++)
{
for(int j=col-1;j<=col+1;j++)
{
int[][] matrixAux = this.matrix;
if(i<3 && j<3 && i>=0 && j>=0)
{
//then add neighbor
}
}
}
for(int i=line-1;i您的方法只是基于一个太复杂的想法。尝试一些更简单的方法:
int upper = matrix[i + 1][j];
int lower = matrix[i - 1][j];
int left = matrix[i][j - 1];
int right = matrix[i][j + 1];
add(upper , lower , left , right);
在没有任何信息的情况下,很难生成任何代码来演示如何使用它,但我希望这能澄清这个想法。没有必要使用循环来累加特定位置的邻居。谢谢你的回答!让我更好地解释一下。例如矩阵5 6 3 1 0 5 2 6 4,对于矩阵1,我想添加0的邻域(上、下、左、右),并保存每个邻域的结果矩阵。(稍后我将进行深度优先搜索)@CarlosBernardes唯一的原因,就是为什么你那边多写一点代码会有用,就是要包括我建议的代码,让它更容易理解。不管怎样,我希望这能回答这个问题?