test_gene_variation.cpp
来自「用c编写的一个基于遗传算法的工程调度的实例。」· C++ 代码 · 共 45 行
CPP
45 行
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void gene_variation(int *chromosome, int num_of_job)
{
int variation_pos; // 变异点
int variation_value; // 变异后基因值
int ex_pos; // 与变异点的交换点
int i;
variation_pos = rand() % num_of_job;
variation_value = rand() % num_of_job + 1;
for (i=0; i<num_of_job; ++i)
{
if (chromosome[i] == variation_value)
{
ex_pos = i;
break;
}
}
i = chromosome[ex_pos];
chromosome[ex_pos] = chromosome[variation_pos];
chromosome[variation_pos] = i;
}
int main()
{
int p[7] = {5,3,2,4,1,7,6};
int i;
srand(time(0));
gene_variation(p,7);
for (i=0; i<7; ++i)
{
printf("%d\t", p[i]);
}
printf("\n");
system("pause");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?