网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.基础教程之——RMI一步一步学习.
.编程必备经典:Java常见问题集锦.
.JDK 1.6不支持AMD 64 bit Java p.
.Web会话状态的维持.
.applet 的参数化 -- 对数组进行初.
.对Applet进行数字签名.
.Java开发中有关Java Socket编程的.
.java程序,保存csdn blog的文章.
.对等计算实际应用之:网络信任与.
.Java基础-Java语言的Socket类详.
.JavaScript escape/unescape编码.
.Reference不为人知的一面.
.高手为你解读J2EE开发过程中的异.
.javaweb三层架构配置.
.Struts 中bean:present使用方法.
.使用BINCompiler转换游戏资源文件.
.Checked vs UnChecked Exception.
.JAVA:MD5加密器.
.利用缓存机制快速读取XML文件数据.
.WebWork2特性.

用java实现人工智能中的A*算法求8数码问题

发表日期:2008-1-5



  //8数码类
class Eight{
int e[][] = {{2,8,3},{1,6,4},{7,0,5}}; //默认的起始状态
int faX ,faY; //保存父状态中0的位置
int f; //估价函数值
Eight former ;

public Eight(){
faX = -1;
faY=-1;
f=-1;
former = null;
}

public Eight(Eight other){
for(int i = 0; i<3; i++)
for(int j=0 ;j<3; j++){
e[i][j] = other.e[i][j];
}
faX = other.faX;
faY = other.faY;
f = other.f;
former = other.former;
}

public void print()
{
for(int i1 = 0;i1<3;i1++)
for(int j1=0;j1<3;j1++){
System.out.print(e[i1][j1]);
if(j1==2)
System.out.println();
}
System.out.println();
}

public void listAll( Eight e ){
while( e.former != null ){
e.former.print();
e = new Eight(e.former);
}
return ;
}

}

class Queue extends Object{ //队列类
private int size = 0;
Eight qe[] = new Eight[20];

public void print(){
for(int i=0;i<size;i++)
qe[i].print();
}

public void addElement(Eight e){
qe[size] = e;
size++;
}

public boolean contains(Eight e){
if( size == 0 )
return false;
else{
for(int i=0;i<size;i++){
if(qe[i].equals(e))
return true;
}
}
return false;
}

public boolean isEmpty(){
if (size == 0) {
return true;
}
else return false;
}

public Eight elementAt(int index){

return qe[index];
}

public void setElementAt( Eight e,int index ){

qe[index] = e;
}

public int size(){
return size;
}

public int indexOf (Eight e) {
for (int i = 0; i < size; i++){
if (qe[i].equals( e ))
return i;
}
return -1;
}

public void removeFirst( ){
for(int i=0;i<size;i++){
qe[i] = qe[i+1];
}
size--;
}

public void remove( Eight e ){
for( int i = 0; i < size; i++ ){
if( qe[i].equals( e ))
qe[i] = null;
}
size--;
}


public void removeAllElements(){
for (int i = 0; i < size; i++){
qe[i] = null;
上一篇:用JAVA实现一个分页类 人气:2411
下一篇:一个用来访问http服务器的东西。功能类似于java.net中的那个。但要强。 人气:644
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐