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