高质量C++编程点滴(二)
一、你需要开辟一段内存来存放和管理一个4 x 4的矩阵,并单位化之。
不合理:
int aMatrix[4][4]; for ( int i = 0; i < 4; i++ ) { for ( int j = 0; j < 4; j++ ) { if ( i == j ) { aMatrix[i][j] = 1; } else { aMatrix [i][j] = 0; } } } |
合理:
int aMatrix[4 * 4]; for ( int i = 0; i < 4; i++ ) { for ( int j = 0; j < 4; j++ ) { |
if ( i == j )
{
aMatrix[ i * 4 + j ] = 1;
}
else
{
aMatrix [ i * 4 + j ] = 0;
}
}
}
解析:
在任何时候都要避免使用多维数组,数组维数的增加,相应的程序复杂度将会以几何级数的方式增加,也更加的难于理解。
二、你需要对上面那个矩阵赋值,使它从左上角向右下角按先纵后横的顺序给它赋值
不合理:
for( int i = 0; i < 4; i++ ) { for ( int j = 0; j < 4; j++ ) { aMatrix[ j * 4 + i ] = i * 4 + j; } } |
for( int i = 0; i < 4; i++ ) { for ( int j = 0; j < 4; j++ ) { &n 相关新闻>>最新推荐更多>>>
|