假设一个方阵按行优先储存在一维数组matrix中,将其原地转置:
void SqrMaTranspose(double * matrix, int n){
double temp = 0.0;
for(int i=0; i<n; i++){
for(int j=i+1; j<n; j++){
temp = matrix[i*n+j];
matrix[i*n+j] = matrix[j*n+i];
matrix[j*n+i]=temp;
}
}
}