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

📄 eightnumberhead.h

📁 用VC编制的集成的野人和八数码演示程序。其中野人程序用动态的效果演示
💻 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 + -