函數功能:指向序列之中數組最大元素,包含在algorithm庫中。
- 函數返回迭代器,時間復雜度O(n)。
版本一
template<class ForwardIterator>
ForwardIterator max_element(ForwardIterator first, ForwardIterator last)
{
if(first == last)
return first;
ForwardIterator result = first;
while(++first != last)
if(*result < *first)
result = first;
return result;
}
版本二
template<class ForwardIterator, class Compare>
ForwardIterator max_element(ForwardIterator first, ForwardIterator last)
{
if(first == last)
return first;
ForwardIterator result = first;
while(++first != last)
if(comp(*result , *first))
result = first;
return result;
}
運用實例:
Leetcode 969. Pancake Sorting
參考書籍:
- 《STL源碼剖析》