数组大小为ArraySize,若ArraySize为偶数,则需要(n-2)/2×3+1次比较;若ArraySize位奇数,则需要(n-1)/2×3次比较。以两个数为一组,首先比较这两个的大小,然后分别与当前最小值和最大值比较。
我是说你这句话有问题,至少在我提出的情况下是不对的。
如果你的程序是为了验证这句话的正确性的话,那么就没有必要;
如果你的这句话是总结你的程序的话,那么我提出的情况就是没有必要的。
附 “我这么猜测” 的代码。
for( max = array[0], min = array[0]; i < arraysize; ++i )
if( array[i] > max )
max = array[i];
else if( array[i] < min )
min = array[i];
else
NULL;
for( max = array[0], min = array[0]; i < arraysize; ++i )
if( array[i] < min )
min = array[i];
else if( array[i] > max )
max = array[i];
else
NULL;