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

📄 itylayout.cpp

📁 遗传算法实现旅行商问题:经典遗传算法解决旅行商问题
💻 CPP
字号:
// ityLayout.cpp: implementation of the CityLayout class.
//
//////////////////////////////////////////////////////////////////////

#include "ityLayout.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////


CityLayout::CityLayout()
{
	
}

CityLayout::~CityLayout()
{
	
}
double* CityLayout::initial()
{
	int sum=0;
	int i;
	int j;
	double dis[CITYCOUNT][CITYCOUNT];
	CITY city[CITYCOUNT]={
		{1,1},{2,2},{3,3},{4,4},{5,5},{6,6},{7,7},{8,8},{9,9}
	};
	for (i=0;i<CITYCOUNT;i++)
	{
		for (j=0;j<CITYCOUNT;j++)
		{
			sum=(city[j].x-city[i].x)*(city[j].x-city[i].x)+(city[j].y-city[i].y)*(city[j].y-city[i].y);
			dis[i][j]=sqrt(sum);
		}
	}
	return &dis[0][0];
}

int dis[CITYCOUNT][CITYCOUNT]={
		0,26,28,4,37,39,8,33,6,
		26,0,5,22,26,24,20,8,24,
		28,5,0,24,21,20,21,8,26,
		4,22,24,0,34,36,5,30,5,
		37,26,21,34,0,6,30,26,38,
		39,24,20,36,6,0,32,23,40,
		8,20,21,5,30,32,0,27,9,
		33,8,8,30,26,23,27,0,31,
		6,24,26,5,38,40,9,31,0
};
CityLayout::CityLayout(int *start, int count):bufferstart(start),bufferlength(count)
{
	
}
//double *p=CityLayout::initial();     //函数initial要加static
int *p=&dis[0][0];
CityLayout layout(p,CITYCOUNT*CITYCOUNT);

int CityLayout::getDistance(int city1,int city2)
{
	if (city1<0 || city1>CITYCOUNT-1 || city2<0 || city2>CITYCOUNT-1)
	{
		return -1;
	}
	int move=city1*CITYCOUNT+city2;
	if (move<CITYCOUNT*CITYCOUNT)
	{
		return *(bufferstart+move);
	}
	else
		return -1;
}

⌨️ 快捷键说明

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