📄 eightnumberhead.h
字号:
//------------------------------------------------------------------------------------
//-------八数码问题 作者:申徐洲 日期:2004年5月6日 AllRightsReserve
//------------------------------------------------------------------------------------
//----定义结构TEightNumber 表示八数码问题的每一个结点--------------------------------
typedef struct _TEightNumber
{
int aState[3][3]; // 结点状态
int nDepth; // 结点深度
int nBreadth; // 结点宽度
int nChildren; // 子结点个数
int nWeight; // 结点权值
int nDirection; // 搜索方向
bool bIsSolution; // 结点是不是八数码问题的解
bool bIsVisited; // 结点是否被访问
_TEightNumber* pParent; // 指向父结点的指针
_TEightNumber* pChildren; // 指向子结点的指针
_TEightNumber* pSibling; // 指向兄弟结点的指针
_TEightNumber* pPrev; // 指向前驱结点的指针
_TEightNumber* pNext; // 指向后继结点的指针
}TEightNumber,*TEightNumberPtr;
//----定义结构TNodeNumber 表示八数码问题各层结点数------------------------------------
typedef struct _TLevel
{
int nNodeNumber; // 结点数量
_TLevel* pNext; // 指向后继结点的指针
}TLevel,*TLevelPtr;
//----定义结构TPosition 表示八数码问题的搜索方向--------------------------------------
typedef struct _TPosition
{
int x; // 水平方向
int y; // 垂直方向
}TPosition;
//----定义全局变量---------------------------------------------------------------------
const int g_aGoal[3][3] = {{1,2,3},{8,0,4},{7,6,5}}; //八数码问题的默认目标状态
const int g_aHorizon[4] = {0,1,0,-1}; //八数码问题的默认水平搜索方向
const int g_aVertical[4] = {1,0,-1,0}; //八数码问题的默认垂直搜索方向
static int start = -1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -