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

📄 head.h

📁 经典的人工智能实验8数码宽度搜索--自河工05级计算机赵丽娜
💻 H
字号:
//*********************************************
//* 8数码问题的头文件                         *
//* 文件名称:head.h                          *
//* 功    能:定义工程中的所用全局变量        *
//* 参    数:                                *
//* 返 回 值:                                *
//* 工作方式:                                *
//*********************************************
#if !defined(H_HEAD_H)
#define H_HEAD_H
#include <iostream> 
#include <ctime> 
#include <algorithm>
#include <vector> 
using namespace std; 

/***********用2维数组定义8数码的盘局***********/
const int ROW=3; //const相当与#define
const int COL=3; 



/***************表示节点信息的结构**************/
typedef struct Node
{ 
	int digit[ROW][COL]; 
	bool outofopen;
	//我们定义的function=dist+dep
	int index; // 指向父节点的指针 
} Node; 
Node src,dest; //分别存放初始节点和目标节点
vector<Node> node_v; //容器,可以存放任意个node对象,作为open表和close表使用
//**********输出函数重定义****************//
ostream &operator<<(ostream &os, Node& node) 
{ 
	for(int i=0;i<ROW;i++) 
	{ 
		for(int j=0;j<COL;j++) 
			os<<node.digit[i][j]<<' '; 
		os<<endl; 
	} 
	return os; 
} 
bool isEmptyOfOPEN();
bool isEqual(int index, int digit[][COL]);
void PrintSteps(int index, vector<Node>& rstep_v);
void Swap(int& a, int& b);
void Assign(Node& node, int index);
bool isExpandable(Node& node);
void ProcessNode(int index);
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -