Next:
B..5 サンプル・プログラム
Up:
B. C 言語と行列
Previous:
B..3.0.3 成分のアクセス
B..4 二つの方法の優劣
いずれが優れているか、決定打はないという感じである。
次元配列の方法は、二重添字から番地を計算するのがとにかく面倒であ る (マクロで一応は処理できるが、行列が増えると個数分のマクロを定義せね ばならず、ちょっとイヤミ)。
次元配列の方法は、二重添字から番地を計算するのに、乗算が必要で、 CPU によっては時間がかかる。
ポインター配列の方法は、余分なメモリーを必要とする。
ポインター配列の方法は、成分へのアクセスに、余分なメモリー・アクセス を必要とする。システムによっては時間がかかる。(少し工夫したコーディン グをすれば無駄は減少するが、面倒である。)
ポインター配列の方法では、行列の行の交換が、次のように実際の成分を移 動せずに実現できるので、非常に高速。
double *ap; ... ap = a[i]; a[i] = a[j]; a[j] = ap;
Next:
B..5 サンプル・プログラム
Up:
B. C 言語と行列
Previous:
B..3.0.3 成分のアクセス
Masashi Katsurada
平成18年4月29日