⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tchange.java

📁 Thalmann算法的java实现。有详细注释。
💻 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 + -