⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.c

📁 遗传算法的一个源码集成
💻 C
字号:
#define TEST 0#include "genet.h"init_one_population( sour_size, dest_size, sour_tab, dest_tab)int sour_size, dest_size;int sour_tab[];int dest_tab[];{	int p, i, j, temp_i, temp_j, res_i, res_j, val;	int taken_row[K];	int taken_col[N];	int count;	int row = 0;	int col = 0;		for (i=0; i < sour_size; ++i){	   for (j=0; j < dest_size; ++j) {initial[i][j] = 0;}}		for (i = 0; i < sour_size; ++i) {taken_row[i] = 0;}	for (j = 0; j < dest_size; ++j) {taken_col[j] = 0;}		for (i = 0; i < sour_size; ++i)	   if (sour_tab[i] != 0) row = row +1; else taken_row[i] = 1;		for (i = 0; i < dest_size; ++i)	   if (dest_tab[i] != 0) col = col +1; else taken_col[i] = 1;	   			while ((row != 0) || (col != 0)){	   temp_i = random0(row);	   temp_j = random0(col);		   p = -1; count = -1;		while (count < temp_i)		{			++p;			if (taken_row[p] == 0) count++;		}	   res_i = p;		   p = -1; count = -1;	   while (count < temp_j){++p;	      if (taken_col[p] == 0) count++;	      }	   res_j = p;   		   val = min(sour_tab[res_i], dest_tab[res_j]);	   initial[res_i][res_j] = val;	   sour_tab[res_i] = sour_tab[res_i] - val;	   dest_tab[res_j] = dest_tab[res_j] - val;	   if (sour_tab[res_i] == 0) {taken_row[res_i] = 1; row = row - 1;}	   if (dest_tab[res_j] == 0) {taken_col[res_j] = 1; col = col - 1;}	   	   }#if TEST	   for (i=0; i < k; ++i)                                       	     {  printf("%d: ",i);	     	for (j=0; j < n; ++j)                                     	      		printf("  %d",initial[i][j]);	      	printf("\n");	      }	    printf("\n");   #endif}min (x,y)int x,y;{	if (x < y) return (x); else return (y);}max (x,y)int x,y;{	if (x < y) return (y); else return (x);}random0(p)int p;{	int r;		if (p ==0) return (0); else {r = rand()%p; return(r);}}random1(p)int p;{int r;	if (p ==0) return (0); else {r = rand()%p; return(r+1);}}

⌨️ 快捷键说明

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