max_element
Returns the element with the largest value
Key Facts
Gyroscopic Couple: The rate of change of angular momentum () = (In the limit).- = Moment of Inertia.
- = Angular velocity
- = Angular velocity of precession.
Blaise Pascal (1623-1662) was a French mathematician, physicist, inventor, writer and Catholic philosopher.
Leonhard Euler (1707-1783) was a pioneering Swiss mathematician and physicist.
Definition
The max_element() algorithm is defined in the standard header <algorithm> and in the nonstandard backward-compatibility header <algo.h>.Interface
#include <algorithm> template < class ForwardIterator > ForwardIterator max_element( ForwardIterator first, ForwardIterator last ); template < class ForwardIterator, class BinaryPredicate > ForwardIterator max_element( ForwardIterator first, ForwardIterator last, BinaryPredicate comp );Parameters:
Parameter | Description |
---|---|
first | A forward iterator addressing the position of the first element in the range to be searched for the largest element |
last | A forward iterator addressing the position one past the final element in the range to be searched for the largest element |
comp | User-defined predicate function object that defines the sense in which one element is greater than another. The binary predicate takes two arguments and should return true when the first element is less than the second element and false otherwise |
Description
Max_element finds the smallest element in the range[first, last)
.
The first version compares objects using operator<
and the second compares objects using a function object comp
.Example:
Example - max_element algorithm
Problem
This program illustrates the use of the STL max_element() algorithm (default
version) to find the maximum value in a vector of integers.
Workings
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int a[] = {2, 6, 10, 8, 4}; vector<int> v(a, a+5); cout <<"\nHere are the integer values in the vector:\n"; for (vector<int>::size_type i=0; i<v.size(); i++) cout <<v.at(i)<<" "; cout <<"\nThe maximum value in the vector is "<<*max_element(v.begin(), v.end())<<"."; return 0; }
Solution
Output:
Here are the integer values in the vector:
2 6 10 8 4 The maximum value in the vector is 10.
2 6 10 8 4 The maximum value in the vector is 10.
References