快速提问。例如,使用大约 1000 个选项的更大情况:哪种方法是“最佳”方法?我并不是特别想要更快的结果。
switch (foo) {
case 0:
// code ...
break;
// One, two, skip a few...
case 1000:
// code ...
}
或拆分可能结果的东西,以便它可以快速找到正确的案例陈述。也类似:
if (foo < 101) {
if (foo < 51)
switch (foo) {}
else
switch (foo) {}
} else if (foo > 100 && foo < 201) {
// skipped for convenience
} else if (foo > 900) {
if (foo < 951)
switch (foo) {}
else
switch (foo) {}
}
我想第二种方法对于较大的数字要快得多,但第一种方法似乎也可以轻而易举地通过它,因为它不是不断检查语句。是这些方法中的一种不受欢迎还是有更好的方法?这是针对 C 的,但我有兴趣了解它与其他语言的一致性。谢谢!