Find the maximum element of a Vector using STL in C++
In this tutorial, we will be learning about how to find the maximum element of a vector using STL (Standard Template Library) in C++.
Basically, we just traverse the whole vector and check the greater element among them. But, traversing the whole vector takes a high amount of time. So, here we are reducing that by using an STL function.
Before moving into finding the maximum element of a vector. If you are a beginner, please go through the sample vector program of STL. So, that you will be comfortable with STL.
Take user input into vector in C++
Description
By using the *max_element() method from STL(Standard template library), we will be getting the maximum element of the vector.
Header Files
We, generally require 3 Header files over here which are…
<iostream>(Standard input output stream)
<vector>(for declaring vector)
<algorithm>(in order to use *max_element() function)
Syntax
*max_element(start_index,end_index)
Here…
- *max_element represents the name of a function.
- start_index represents the starting index of the vector.
- end_index represents the ending index of the vector.
Time Complexity
O(n)
Space Complexity
O(1)
The Auxiliary space is being considered.
Code
The Sample code is as follows…
#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int n;
cout<<"Enter the size of a vector\n";
cin>>n;
vector<int>v;
cout<<"Enter the elements of the vector\n";
for(int i=0;i<n;i++)
{
int a;
cin>>a;
v.push_back(a);
}
cout<<"Maximum element is : "<<*max_element(v.begin(),v.end());
return 0;
}
Output :
Enter the size of a vector 5 Enter the elements of the vector 1 3 6 8 3 Maximum element of the vector is : 8
Explanation
Here, firstly user enters the size of a vector. then the user enters the elements of the vector. then, by using the *max_element() function it finds out the maximum element of the vector.
*max_element(v.begin(),v.end())
v.begin()represents the starting index of the vector v.v.end()represents the ending index of the vector v.
Leave a Reply