unicross.c
来自「这是一个用C++写成的遗传算法例子,适合初学者」· C语言 代码 · 共 40 行
C
40 行
/* file : unicross.c
*
* purpose : implemnetation of uniform crossover
*
*/
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
void
unicross(int *Kid1,int *Kid2,int len)
/* int len; the length of the vector */
/* int *Kid1; pointer to crossover partners */
/* int *Kid2; */
{
int i;
double prob;
int Tmp; /* used for swapping alleles */
randomize();
/* crossover through exchanging information */
for (i=0; i<len;i++)
{
prob=(1.0*random(1000))/1000;
if (prob>0.5)
{
Tmp=Kid1[i];
Kid1[i]=Kid2[i];
Kid2[i]=Tmp;
}
}/* end for */
} /* end uniform crossover */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?