ant.cpp

来自「蚁群算法,用VC++编写的,这是一种简单高效的智能优化算法」· C++ 代码 · 共 70 行

CPP
70
字号
// Ant.cpp: implementation of the CAnt class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "AntClusting.h"
#include "Ant.h"
#include "math.h"
#include "ArrayData.h"


#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

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

extern DataObject  *dataObj;
extern CArrayData * m_pAd;

CAnt::CAnt(void)
{	
	
}

CAnt::CAnt(DataObject *data,int dataPosition,int propnum)
{
	m_nAntPropNum=propnum;
	m_dAntX = data->x;
	m_dAntY = data->y;
	m_pfAntPropArray=new double[m_nAntPropNum];
	for(int i=0;i<m_nAntPropNum;i++)
		*(m_pfAntPropArray+i)=*(data->m_pfa+i);
	m_bIsLoad = false;
	m_nDataPosition= dataPosition;
//	data[dataPosition].isUsed = true;
}

CAnt::~CAnt()
{
		if(NULL != m_pfAntPropArray)
	{
		 delete [] m_pfAntPropArray;
         m_pfAntPropArray = NULL;
	}

}

void CAnt::SetAnt(DataObject *data,int dataPosition)
{ 
	for(int i=0;i<m_nAntPropNum;i++)
	*(m_pfAntPropArray+i)=*(data->m_pfa+i); 
    m_nDataPosition= dataPosition;
	m_dAntX= data->x;
	m_dAntY=data->y;
//	dataObj[dataPosition].isUsed = true;
}

void CAnt:: AntChangePosition(float newx,float newy)
{     
    m_dAntX=newx;
	m_dAntY=newy;
}


⌨️ 快捷键说明

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