Skip to content
Related Articles
Open in App
Not now

Related Articles

C++ Program to Find the Minimum and Maximum Element of an Array

Improve Article
Save Article
  • Last Updated : 17 Jan, 2023
Improve Article
Save Article

Given an array, write functions to find the minimum and maximum elements in it. 

Example:

C++




// C++ program to find minimum (or maximum) element
// in an array.
#include <bits/stdc++.h>
using namespace std;
  
int getMin(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = min(res, arr[i]);
    return res;
}
  
int getMax(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = max(res, arr[i]);
    return res;
}
  
int main()
{
    int arr[] = { 12, 1234, 45, 67, 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "Minimum element of array: " << getMin(arr, n)
         << " ";
    cout << "Maximum element of array: " << getMax(arr, n);
    return 0;
}


Output: 

Minimum element of array: 1
Maximum element of array: 1234

Time Complexity: O(n)

Auxiliary Space: O(1), as no extra space is used

Recursive Solution 

Example:

C++




// C++ program to find 
// minimum (or maximum) element
// in an array.
#include <bits/stdc++.h>
using namespace std;
  
int getMin(int arr[], int n)
{
    // If there is single element, return it.
    // Else return minimum of first element and
    // minimum of remaining array.
    return (n == 1) ? arr[0] : min(arr[0], 
                         getMin(arr + 1, n - 1));
}
  
int getMax(int arr[], int n)
{
    // If there is single element, return it.
    // Else return maximum of first element and
    // maximum of remaining array.
    return (n == 1) ? arr[0] : max(arr[0], 
                          getMax(arr + 1, n - 1));
}
  
int main()
{
    int arr[] = { 12, 1234, 45, 67, 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "Minimum element of array: " << 
                            getMin(arr, n) << " ";
    cout << "Maximum element of array: " << 
                                   getMax(arr, n);
    return 0;
}


Output: 

Min of array: 1
Max of array: 1234

Time Complexity: O(n)

Auxiliary Space: O(n), as implicit stack is used due to recursion

Using Library functions: 
We can use min_element() and max_element() to find minimum and maximum of array. 

Example:

C++




// C++ program to find minimum (or maximum) element 
// in an array. 
#include <bits/stdc++.h> 
using namespace std; 
  
int getMin(int arr[], int n) 
    return *min_element(arr, arr + n); 
  
int getMax(int arr[], int n) 
    return *max_element(arr, arr + n); 
  
int main() 
    int arr[] = { 12, 1234, 45, 67, 1 }; 
    int n = sizeof(arr) / sizeof(arr[0]); 
    cout << "Minimum element of array: " << getMin(arr, n) << " "
    cout << "Maximum element of array: " << getMax(arr, n); 
    return 0; 


Output:

Minimum element of array: 1
Maximum element of array: 1234

Time Complexity: O(n)

Auxiliary Space: O(1), as no extra space is used

Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above. 


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!