九宫问题的深度和广度优先算法
源代码在线查看: data.h
/*********************************************************
* data.h
* 定义基本的数据类型
**********************************************************/
#define DATATYPE int //定义数据类型
#define LINE 3 //矩阵的行
#define ROW 3 //矩阵的列
#define DATASIZE LINE*ROW //矩阵的大小
class Data{ //存储在open和close表中的数据元素
public:
DATATYPE element[DATASIZE]; //九宫图以矩阵的方式存放
Data *pid; //记录close表中父亲节点的位置
Data *next,*pre; //双向链表
int gx,hx;
};
class F{
public:
int gx,hx;
Data *addr;
F *next;
};
void showElement(const DATATYPE *dt){ //打印数据元素的信息
int i;
for(i=0;i if(i%LINE==0) cout cout }
cout }
DATATYPE s0[LINE][ROW],sg[LINE][ROW];