📄 head.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 + -