我正在研究遗传算法和 C 编程语言。我的任务是读入一个表示连通图的矩阵,然后根据节点之间的距离计算适应度,教授明确表示这不必精确,也不必遵循图上的约束。所以我的想法是将矩阵读入一个有效的二维数组。我现在需要将该二维数组转换为一维数组,我们将其称为机架,然后我们将机架打乱并将其分成两个相等长度的较小数组。
矩阵为 20*20,因此机架的大小必须为 400。
无论如何,这是我这样做的代码,尽管它不起作用。
void TwoDtoOneD(int array[][SIZE], int left[SIZE*SIZE]){
int i,j;
for(i=0;i<SIZE*SIZE;i++){
for(j=0;j<SIZE*SIZE;j++){
left[i] = array[i][j];
}//end for
}//end for
}