can someone help me to translate this code to java
Code:
template<typename ItemType>
void MedianHybridQuickSortImpl(ItemType* array, unsigned f, unsigned l)
{
while(f+16 < l)
{
ItemType v1 = array[f], v2 = array[l], v3 = array[(f+l)/2];
ItemType median =
v1 < v2 ?
( v3 < v1 ? v1 : std::min(v2, v3)
) :
( v3 < v2 ? v2 : std::min(v1, v3)
);
unsigned m = Partition(array, f, l, median);
MedianHybridQuickSortImpl(array, f, m);
f = m+1;
}
}
template<typename ItemType>
void MedianHybridQuickSort(ItemType* array, unsigned size)
{
MedianHybridQuickSortImpl(array, 0, size-1);
InsertionSort(array, size);
}
I actually don't understand all the std::min thing and the ? sign