X-Git-Url: https://git.dlugolecki.net.pl/?p=genetic.git;a=blobdiff_plain;f=include%2Fcrossover%2Fcrossover.h;h=3befaed60c50698b904ba945afe18230f3aabf2b;hp=4d38ba0ea824da0b94bd20622c0b4a540a93e181;hb=1e175fb658e55f4cc8b894fff288be22998e78af;hpb=917440678dc4e920dfd5810da1274665acb17138 diff --git a/include/crossover/crossover.h b/include/crossover/crossover.h index 4d38ba0..3befaed 100644 --- a/include/crossover/crossover.h +++ b/include/crossover/crossover.h @@ -1,6 +1,8 @@ #ifndef __CROSSOVER_CROSSOVER_H #define __CROSSOVER_CROSSOVER_H +#include + #include "chromosome.h" #include "generation.h" @@ -34,7 +36,7 @@ namespace genetic { * @param splitPlace Gene number on which the Genes should be swapped * @return new Chromosome crossed between given two */ - _Chromosome do_cross(_Chromosome& first, _Chromosome& second, unsigned int splitPlace) { + _Chromosome do_cross(_Chromosome& first, _Chromosome& second, const unsigned int splitPlace) { const unsigned int chromosomeSize = first.size(); // cout << " "; @@ -55,7 +57,7 @@ namespace genetic { // } // } - vector crossedChromosome; + std::vector crossedChromosome; for (unsigned int i = 0; i < chromosomeSize; i++) { if (i < splitPlace) { crossedChromosome.push_back(first[i].get()); @@ -80,7 +82,7 @@ namespace genetic { * * @param chance probability of Crossover (0 = 0%, 1 = 100%) */ - Crossover(CrossoverChanceType chance) : + Crossover(const CrossoverChanceType& chance) : chance(chance) { } @@ -92,7 +94,7 @@ namespace genetic { */ Generation<_Chromosome> cross(Generation<_Chromosome>& _generation) { const unsigned int generationSize = _generation.size(); - vector<_Chromosome> newGeneration; + std::vector<_Chromosome> newGeneration; for (unsigned int i = 0; i < generationSize; i++) { CrossoverChanceType random = (rand() + 1 % 10000) / 10000.0;