• 大小: 756KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 八数码  广度  宽度  

资源简介

一 一一一夺一事无成一 征 物物人正琝 痰盂 敀 入手

资源截图

代码片段和文件信息

#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个文件信息

评论

共有 条评论