遗传算法

struct 结构体
{
  结构体 *next;
};

int main(参数)
{
  获取参数;
  预计多少,读取的文件,最大代数,最大个体数,初始化使用混乱,使用的几个值
  MIC();//MIC和cpu一起,MIC计算,CPU输出
  初始();

}

初始()
{
   两条作为结构体;
   当前、buffer;
   //当前L,bufferL;
   //不知道申请内存速度有多快,如果快。
   一线程:
   {
      malloc(内存)
      //随机列表
      for(i=0;i<最大个体数;i++)
      {
         当前.data=i;
         当前=当前.next;
      }
      //乱
      int temp;
      for(i=0;i<初始化使用混乱;i++)
      {
         temp=当前[i].data;
         ran=rand()%最大个体数;
         当前[i].data=当前[ran].data;
         当前[ran].data=temp;
      }
   }
   一线程:
   {
      malloc(内存)//buffer
   }
   不等待;
}

int 交叉()
{
  适应度();
  当前=buffer,buffer=当前;
  //一个i1,i2不会被重复用,不会数据重写,每一个一次。
  当前[i]=交叉(buffer[i1],buffer[i2]);
}

int 适应度()
{
  int i;
  int temp;
  for(i=0;i<最大个体数;i++)
  {
     temp=(int)当前[i].适应度;
     while(temp<p.最大个体数 && p[temp]!=null)
     {
        temp++;    
     }
     if(temp<p.最大个体数)
     {
        p[temp]=当前[i];    
     }    
  }
}
原文地址:https://www.cnblogs.com/lindexi/p/12087800.html