【发布时间】:2012-12-16 17:16:12
【问题描述】:
检查数组(首选整数数组)的所有元素是否相等的最快方法是什么。到目前为止,我一直在使用以下代码:
bool check(int array[], int n)
{
bool flag = 0;
for(int i = 0; i < n - 1; i++)
{
if(array[i] != array[i + 1])
flag = 1;
}
return flag;
}
【问题讨论】:
-
您不需要
flag,只需在循环中返回false,并在其下方返回true。否则我认为这是尽可能高效的。 -
为什么要将
1和0分配给bool? -
@ChristianRau:人们很有趣,他们看到像 C++ 这样的弱类型语言就会发疯。有些人甚至会将
0和1分配给long,依赖于隐式转换! -
@NoSenseEtAl 你的意思是
memcmp比较两个ints?我不这么认为。可以肯定的是,你不是那些认为他想比较两个范围的人,不是吗? -
@ChristianRau - 是的,我的错...