max element algorithm with subrange - NormandaleWells/CSn GitHub Wiki
index max_element(A, lo, hi)
max_element searches the specified sub-range of array A for the maximum element and returns its index. If there are multiple occurrences of the maximum element in A[lo,hi), the index of the one with the lowest index is returned. The sub-range must not be empty; if it is, invalid is returned.
Here is the full pseudocode for max_element:
index max_element(A, lo, hi)
if hi - lo = 0
return invalid
index max_index = lo
for i in [lo+1,hi)
if A[i] > A[max_index]
max_index = i
return max_index
What should max_element() do with a 1-element sub-range? How does this implementation handle that case?