64,651
社区成员
发帖
与我相关
我的任务
分享
DataPoint::DataPoint(unsigned int dimNum):dimNum(dimNum)
{
this->dimension = new double[dimNum];
}
//构造函数
DataPoint::DataPoint(unsigned long dpID,double* dimension ,bool isKey, unsigned int dimNum):isKey(isKey), dpID(dpID), dimNum(dimNum)
{
this->dimension = new double[dimNum];
//传递每维的维度数据
for(unsigned int i=0; i<dimNum; i++)
{
this->dimension[i] = dimension[i];
}
}
DataPoint::~DataPoint()
{
if (this->dimension != NULL)
{
delete this->dimension;
this->dimension = NULL;
}
}
vector<DataPoint> dadaSets;
while (! ifs.eof() ) //从文件中读取POI信息,将POI信息写入POI列表中
{
DataPoint tempDP(DIME_NUM); //临时数据点对象
double* tempDimData = new double[DIME_NUM]; //临时数据点维度信息
for(int j = 0; j < DIME_NUM; j++) //读文件,读取每一维数据
{
ifs >> tempDimData[j];
}
tempDP.SetDimension(tempDimData); //将维度信息存入数据点对象内
delete tempDimData;
tempDimData = NULL;
tempDP.SetDpId(i); //将数据点对象ID设置为i
tempDP.SetVisited(false); //数据点对象isVisited设置为false
tempDP.SetClusterId(-1); //设置默认簇ID为-1
dadaSets.push_back(tempDP); //将对象压入数据集合容器
i++; //计数+1
}