How to find the minimum and maximum element of an Array using STL in C++?
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)
Please Login to comment...