- 论坛徽章:
- 0
|
![]()
A*算法实现八数码问题
![]()
为了应付作业,里面还有很多不足。但能正确输出结果了。
//////////Eight.java
public class Eight{
int g;
int e[][]={{2,8,3},{1,6,4},{7,0,5}};
int zi,zj; //0的位置
Eight former;
public Eight()
{
g=0;
zi=-1;
zj=-1;
former=null;
}
public Eight(Eight other){
for(int i = 0; i=0){
Eight a=new Eight(this);
m=i-1;
a.Swap(m,j,i,j);
e.insertAtBack(a);
++k;
}
if(i+1=0){
Eight a=new Eight(this);
n=j-1;
a.Swap(i,n,i,j);
e.insertAtBack(a);
++k;
}
if(j+1i;j--){
if(a[j].f()
![]()
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68060/showart_1710748.html |
|