public double medianOf3(int left, int right)
{
int center = (left+right)/2;
// order left & center
if( theArray[left] > theArray[center] )
swap(left, center);
// order left & right
if( theArray[left] > theArray[right] )
swap(left, right);
// order center & right
if( theArray[center] > theArray[right] )
swap(center, right);
swap(center, right-1); // put pivot on right
return theArray[right-1]; // return median value
} // end medianOf3()
为什么返回值是theArray[right-1]?
本文介绍了一个用于找出数组中三个元素的中位数的算法实现。通过比较和交换操作,确保了left、center和right三个位置上的元素按顺序排列,并将中位数放置在right-1的位置上。最后返回该位置的值作为中位数值。

9406

被折叠的 条评论
为什么被折叠?



