matrixnode.java
来自「利用深度遍历的方法来检查8数码问题是否有解。」· Java 代码 · 共 62 行
JAVA
62 行
public class MatrixNode
{
public char[][] matrix;
public MatrixNode()
{
matrix=new char[3][3];
}
public void displayNode()
{
for(int i=0;i<matrix.length;i++)
{
for(int j=0;j<matrix[0].length;j++)
System.out.print(matrix[i][j]+" ");
System.out.println();
}
System.out.println();
System.out.println();
}
public void setNode(char[][] node)
{
for(int i=0;i<matrix.length;i++)
for(int j=0;j<matrix[0].length;j++)
matrix[i][j]=node[i][j];
}
public char getElement(int i,int j)
{
return matrix[i][j];
}
public boolean check(MatrixNode node)
{
for(int i=0;i<matrix.length;i++)
for(int j=0;j<matrix[0].length;j++)
if(matrix[i][j]!=node.getElement(i,j))
return false;
return true;
}
public void transform(int x1,int y1,int x2,int y2)
{
char ch1=matrix[x1][y1];
char ch2=matrix[x2][y2];
matrix[x1][y1]=ch2;
matrix[x2][y2]=ch1;
}
public DPoint getBlank()
{
for(int i=0;i<matrix.length;i++)
for(int j=0;j<matrix[0].length;j++)
{
if(matrix[i][j]==' ')
return new DPoint(i,j);
}
return new DPoint(0,0);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?