资源简介
一 一一一夺一事无成一 征 物物人正琝 痰盂 敀 入手
代码片段和文件信息
#include “stdafx.h“
#include “iostream.h“
#include
#include
//#include
//#include
static int target[9]={123456780};//目标形式
//class definition
class eight_num
{
private:
int num[9];
int not_in_position_num;//不在位个数
int deapth;//层数
int eva_function;//不在位个数与层数的和
public:
eight_num* parent;//指向父节点
eight_num* leaf_next;//当前树叶子节点指向后继节点
eight_num* leaf_pre;//当前树叶子节点指向前驱节点
eight_num(int init_num[9]);//构造函数
eight_num(int num1int num2int num3int num4int num5int num6int num7int num8int num9)//构造函数
{
num[0]=num1;
num[1]=num2;
num[2]=num3;
num[3]=num4;
num[4]=num5;
num[5]=num6;
num[6]=num7;
num[7]=num8;
num[8]=num9;
}
eight_num(void)//构造函数
{
for (int i=0;i<9;i++)
num[i]=i;
}
void cul_para(void);//计算出来不在位个数,层数,及二者之和
void get_numbers_to(int other_num[9]);//将当前节点的八数码值读出
int get_nipn(void)//获得不在位个数
{return not_in_position_num;}
int get_deapth(void)//获得层数
{return deapth;}
int get_evafun(void)//获得不在位个数与层数的和
{return eva_function;}
void set_num(int other_num[9]);//重新设置八数码的初始状态
void show(void);//输出八数码
// eight_num& operator=(eight_num&);
// eight_num& operator=(int other_num[9]);
int operator==(eight_num&);//赋值操作
int operator==(int other_num[9]);//
};
void eight_num::cul_para(void)
{
int i;
int temp_nipn=0;
for (i=0;i<9;i++)
if (num[i]!=target[i])
temp_nipn++;
not_in_position_num=temp_nipn;
if (this->parent==NULL)
deapth=0;
else
deapth=this->parent->deapth+1;
eva_function=not_in_position_num+deapth;
}
eight_num::eight_num(int init_num[9])
{
for (int i=0;i<9;i++)
num[i]=init_num[i];
}
void eight_num::show()
{
cout< cout<<“ “;
cout< cout<<“ “;
cout< cout<<“\n“;
cout< cout<<“ “;
cout< cout<<“ “;
cout< cout<<“\n“;
cout< cout<<“ “;
cout< cout<<“ “;
cout< cout<<“\n“;
}
void eight_num::get_numbers_to(int other_num[9])
{
for (int i=0;i<9;i++)
other_num[i]=num[i];
}
void eight_num::set_num(int other_num[9])
{
for (int i=0;i<9;i++)
num[i]=other_num[i];
}
/*eight_num& eight_num::operator=(eight_num& another_8num)
{
for (int i=0;i<9;i++)
num[i]=another_8num.num[i];
not_in_position_num=another_8num.not_in_position_num;
deapth=another_8num.deapth+1;
eva_function=not_in_position_num+deapth;
return *this;
}
eight_num& eight_num::operator=(int other_num[9])
{
for (int i=0;i<9;i++)
num[i]=other_num[i];
return *this;
}*/
int eight_num::operator==(eight_num& another_8num)
{
int match=1;
for (int i=0;i<9;i++)
if(num[i]!=another_8num.num[i])
{
match=0;
break;
}
if (match==0)
return 0;
else
return 1;
}
int eight_num::operator==(int other_num[9])
{
int match=1;
for (int i=0;i<9;i++)
if(num[i]!=other_num[i])
{
match=0;
break;
}
if (match==0)
return 0;
else
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8517 2010-03-27 20:55 8数码问题\20051004A算法\8_num\8_num.cpp
文件 4524 2005-02-27 21:50 8数码问题\20051004A算法\8_num\8_num.dsp
文件 535 2005-02-27 21:58 8数码问题\20051004A算法\8_num\8_num.dsw
文件 74752 2010-03-27 21:04 8数码问题\20051004A算法\8_num\8_num.ncb
文件 48640 2010-03-27 21:04 8数码问题\20051004A算法\8_num\8_num.opt
文件 1298 2010-03-27 20:55 8数码问题\20051004A算法\8_num\8_num.plg
文件 213076 2010-03-27 20:55 8数码问题\20051004A算法\8_num\Debug\8_num.exe
文件 275460 2010-03-27 20:55 8数码问题\20051004A算法\8_num\Debug\8_num.ilk
文件 22747 2010-03-27 20:55 8数码问题\20051004A算法\8_num\Debug\8_num.obj
文件 203692 2005-02-27 22:01 8数码问题\20051004A算法\8_num\Debug\8_num.pch
文件 590848 2010-03-27 20:55 8数码问题\20051004A算法\8_num\Debug\8_num.pdb
文件 1983 2005-02-27 22:01 8数码问题\20051004A算法\8_num\Debug\StdAfx.obj
文件 66560 2010-03-27 21:03 8数码问题\20051004A算法\8_num\Debug\vc60.idb
文件 69632 2010-03-27 20:55 8数码问题\20051004A算法\8_num\Debug\vc60.pdb
文件 1202 2005-02-27 21:50 8数码问题\20051004A算法\8_num\ReadMe.txt
文件 292 2005-02-27 21:50 8数码问题\20051004A算法\8_num\StdAfx.cpp
文件 769 2005-02-27 21:50 8数码问题\20051004A算法\8_num\StdAfx.h
文件 7332 2005-03-01 17:18 8数码问题\20051004广度优先\8_num\8_num.cpp
文件 4524 2005-02-27 21:50 8数码问题\20051004广度优先\8_num\8_num.dsp
文件 535 2005-02-27 21:58 8数码问题\20051004广度优先\8_num\8_num.dsw
文件 66560 2010-03-27 17:51 8数码问题\20051004广度优先\8_num\8_num.ncb
文件 48640 2010-03-27 17:51 8数码问题\20051004广度优先\8_num\8_num.opt
文件 1311 2005-03-01 17:18 8数码问题\20051004广度优先\8_num\8_num.plg
文件 213069 2005-03-01 17:18 8数码问题\20051004广度优先\8_num\Debug\8_num.exe
文件 262564 2005-03-01 17:18 8数码问题\20051004广度优先\8_num\Debug\8_num.ilk
文件 22229 2005-03-01 17:18 8数码问题\20051004广度优先\8_num\Debug\8_num.obj
文件 203692 2005-02-27 22:01 8数码问题\20051004广度优先\8_num\Debug\8_num.pch
文件 590848 2005-03-01 17:18 8数码问题\20051004广度优先\8_num\Debug\8_num.pdb
文件 1983 2005-02-27 22:01 8数码问题\20051004广度优先\8_num\Debug\StdAfx.obj
文件 50176 2005-03-01 17:18 8数码问题\20051004广度优先\8_num\Debug\vc60.idb
............此处省略35个文件信息
- 上一篇:flexgrid使用简单
- 下一篇:二值化车牌字符模板
评论
共有 条评论