我有以下代码正在做大量的 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,但我仍然认为我可以用一些表(2d-3d数组)做得更好,但数字x1,y1,z1, zz3,zz1,zz2 不是连续的数字,它们之间没有关系,它们存在于 1 到 10 亿之间,没有重复。实现这个查找表的任何想法。Rgds,软软的