node.h

来自「本人这学期写八数码作业」· C头文件 代码 · 共 38 行

H
38
字号
#ifndef _NODE
#define _NODE
#include<iostream>
class Node{
public:
	Node();
	Node(int *data);
	Node(const Node& node);
	bool operator==(const Node& node);
	Node& operator=(const Node& node);
	void setParent(int parent);
	int getParent()const;
	void setSelf(int self);
	int getSelf()const;
	void swapValue(int first,int second);
	int getPos()const;
	void randomNode();
	std::pair<int,int> getMovePos()const;
	void setMovePos(std::pair<int,int> movePos);
	int diffence(const Node& node);
	friend std::ostream& operator <<(std::ostream& out,Node& node);
private:
mutable int parent_,self_;
mutable int data_[9];
std::pair<int,int>move;
};
class NodeFactory{
public:
	NodeFactory(const Node& node);
	bool hasNext();
	Node getNextNode();
private:
	static const int table[9][4];
	Node node_;
	int first_,second_;
	static int count;
};
#endif

⌨️ 快捷键说明

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