我正在研究遗传算法和C编程语言。我的任务是读取表示连通图的矩阵,然后根据节点之间的距离计算适应度,教授已经明确表示这不一定是确切的,也不一定遵循图上的约束条件。所以我的想法是将矩阵读入到可以工作的2D数组中。我现在需要将2D阵列放入一维阵列中,我们将调用机架,然后我们将机架混乱并将其分成两个等长的较小阵列。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
}
您需要第三个变量k来计算'left [k ++]'的索引,而不是'left [i]' – Floris