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

Last Updated : 17 Jan, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

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

 


Next Article

Similar Reads