📄 elementcomparator.cpp
字号:
#include "ElementComparator.h"
#include "GraphGenome.h"
//#include "MyRandom.h"
//#include "GAException.h"
ElementComparator::ElementComparator()
{
REGISTER_GENOME(GraphGenome);
}
//-1:表示长度不等,不能进行比较
//0 表示长度为0
double ElementComparator::applyCompare(Genome* genome1, Genome* genome2)
{
if(!(isGenomeReg(genome1->getClass().getName())
&& isGenomeReg(genome2->getClass().getName())
&& genome1->getClass().isSame(genome2->getClass())))
{
return -1;
/*throw GAException(ERROR_MSG);*/
}
else if(genome1->size()!=genome2->size())
{
return 0;
}
else
{
double count=0.0;
for(int i=genome1->size()-1;i>=0;i--)
{
count+=((genome1->equal(i,genome2))?0:1);
}
return count/genome1->size();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -