📄 tchange.java
字号:
/**
* Thalmann算法中,在回溯时将某节点的八个邻近单元格中有对应节点的,
* 将其节点加入open表
**/
package page;
import java.util.*; //LinkedList
public class TChange
{
public TChange()
{
}
public TChange(int nowx,int nowy,int MaxM,int MaxN,int[][] environ,LinkedList open,LinkedList closed)
{
int x=nowx-1;
int y=0;
if(x>=0&&x<MaxM) //上一行
{
y=nowy-1;
if(nowy>=0&&nowy<MaxN)
{
if(environ[x][y]!=0&&environ[x][y]!=555)
open.add((TNodes)(new TChooseClosed(closed,x,y).getNode()));
}
y=nowy;
if(environ[x][y]!=0&&environ[x][y]!=555)
open.add((TNodes)(new TChooseClosed(closed,x,y).getNode()));
y=nowy+1;
if(nowy>=0&&nowy<MaxN)
{
if(environ[x][y]!=0&&environ[x][y]!=555)
open.add((TNodes)(new TChooseClosed(closed,x,y).getNode()));
}
}
x=nowx; //同行
y=nowy-1;
if(nowy>=0&&nowy<MaxN)
{
if(environ[x][y]!=0&&environ[x][y]!=555)
open.add((TNodes)(new TChooseClosed(closed,x,y).getNode()));
}
y=nowy+1;
if(nowy>=0&&nowy<MaxN)
{
if(environ[x][y]!=0&&environ[x][y]!=555)
open.add((TNodes)(new TChooseClosed(closed,x,y).getNode()));
}
x=nowx+1;
if(x>=0&&x<MaxM) //下一行
{
y=nowy-1;
if(nowy>=0&&nowy<MaxN)
{
if(environ[x][y]!=0&&environ[x][y]!=555)
open.add((TNodes)(new TChooseClosed(closed,x,y).getNode()));
}
y=nowy;
if(environ[x][y]!=0&&environ[x][y]!=555)
open.add((TNodes)(new TChooseClosed(closed,x,y).getNode()));
y=nowy+1;
if(nowy>=0&&nowy<MaxN)
{
if(environ[x][y]!=0&&environ[x][y]!=555)
open.add((TNodes)(new TChooseClosed(closed,x,y).getNode()));
}
}
}//构造函数结束
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -