selector.h

来自「我自己写的一个用于图编码的遗传算法」· C头文件 代码 · 共 47 行

H
47
字号
#ifndef SELECTOR_H_
#define SELECTOR_H_

#include "GAException.h"
#include "Genome.h"
#include "Population.h"

class Selector
{
public:
	void setPopulation(Population* pop)
	{
		if(pop==NULL) 
		{
			throw GAException("传递给selector的种群指针不能为空");
		}
		else 
		{
			population=pop; 
		}
	}	
	virtual void applySelect(Genome*& child1,Genome*& child2)=0;

protected:
	Population* population;
};

struct SortByDescendingComparator//降序
{
public:
	bool operator()(Genome* genome1,Genome* genome2)
	{
		return genome1->getFitness()>genome2->getFitness();
	}
};


struct SortByAscendingComparator//升序
{
public:
	bool operator()(Genome* genome1,Genome* genome2)
	{
		return genome1->getFitness()>genome2->getFitness();
	}
};

#endif//SELECTOR_H_

⌨️ 快捷键说明

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