多くの if-else チェックを実行し、多くの時間を消費している次のコードがあります。
while(i<1000) {
if ( a == x1)
{
if(b == y1)
{
array[i] = z1;
}
else if( b = y2)
{
array[i] = z2;
}
else if (b = z3);
{
array[i] = z3;
}
-
-
-
-
-
some 20 else --
}/*end of first if*/
else if (a == xx1)
{
if(b == yy1)
{
array[i] = zz1;
}
else (b == yyy3)
{
array[i] = zz2;
}
else ( b == yy4)
{
array[i] = zz3;
}
-
-
-
-
-
some 20 else --
}
else if(/*more conditions*/)
{
/* same as above with too many else loops */
}
-
-
-
-
-
-
-some 100 else-ifs
-
-
-
-
-
i++;
}/*end of while*/
時間の消費を最小限に抑えるにはどうすればよいですか。 if else を switch(switch within the switch) に置き換えることはできますが、それでもいくつかのテーブル (2d-3d 配列) ではうまくいくと思いますが、数値 x1、y1、z1 、 zz3、zz1、zz2 は連続した数ではなく、10 億から 10 億の間に反復なしで存在するそれらの間に関係はありません。このルックアップ テーブルを実装するための任意の考え。Rgds、ソフト