Given an array arr[], find the minimum and maximum element of this array using STL in C++.
Example:
Input: arr[] = {1, 45, 54, 71, 76, 12} Output: min = 1, max = 76 Input: arr[] = {10, 7, 5, 4, 6, 12} Output: min = 4, max = 12
Approach:
- Min or Minimum element can be found with the help of *min_element() function provided in STL.
- Max or Maximum element can be found with the help of *max_element() function provided in STL.
Syntax:
*min_element (first, last); *max_element (first, last);
To use *min_element() and *max_element() you must include “algorithm” as a header file.
The range used is [first, last], which contains all the elements between first and last, including the element pointed by first but not the element pointed by last.
Below is the implementation of the above approach:
CPP
// C++ program to find the min and max element // of Array using sort() in STL #include <bits/stdc++.h> using namespace std;
int main()
{ // Get the array
int arr[] = { 1, 45, 54, 71, 76, 12 };
// Compute the sizes
int n = sizeof (arr) / sizeof (arr[0]);
// Print the array
cout << "Array: " ;
for ( int i = 0; i < n; i++)
cout << arr[i] << " " ;
// Find the minimum element
cout << "\nMin Element = "
<< *min_element(arr, arr + n);
// Find the maximum element
cout << "\nMax Element = "
<< *max_element(arr, arr + n);
// Storing the pointer in an address
int &min = *min_element(arr,arr+n );
int &max = *max_element(arr,arr+n );
cout<< "\nFinding the Element using address variable" ;
cout<< "\nMin Element = " <<min;
cout<< "\nMax Element = " <<max;
return 0;
} |
Output
Array: 1 45 54 71 76 12 Min Element = 1 Max Element = 76 Finding the Element using address variable Min Element = 1 Max Element = 76
Time Complexity: O(N)
Auxiliary Space: O(1)