私は2D配列でいくつかの計算を行っており、4つの異なる方法で配列を通過する必要があります
for(int i=0; i < array_size; i++) {
for(int j=0; j < array_size; j++) {
#do some computation around [i][j] element
}
}
for(int i = array_size - 1; i >= 0; i--) {
for(int j=0; j < array_size; j++) {
#do the same computation around [i][j] element
}
}
for(int i=0; i < array_size; i++) {
for(int j=array_size - 1; j >= 0; j--) {
#do the same computation around [i][j] element
}
}
for(int i = array_size - 1; i >=0; i--) {
for(int j = array_size - 1; j >= 0; j--) {
#do the same computation around [i][j] element
}
}
問題は、まず、計算のコードが長く、将来変更される可能性があることです。次に、アレイが巨大であるため、ここでもパフォーマンスが問題になります。
コードの重複を回避し、パフォーマンスを維持する方法があるかどうか疑問に思っていました。コードを関数に抽出すると、おそらくパフォーマンスが低下するためです。