C++ Standard Library C++ STL Library

C++ <algorithm> - min() Function



The C++ algorithm::min function returns the smallest of a and b. The initializer list version of function returns the smallest element present in the list.

Syntax

//default version
template <class T> const T& min (const T& a, const T& b);

//custom version
template <class T, class Compare>
  const T& min (const T& a, const T& b, Compare comp);
//default version
template <class T> const T& min (const T& a, const T& b);

//custom version 
template <class T, class Compare>
  const T& min (const T& a, const T& b, Compare comp);

//initializer list version
template <class T> T min (initializer_list<T> il);
template <class T, class Compare>
  T min (initializer_list<T> il, Compare comp);
//default version 
template <class T> constexpr const T& min (const T& a, const T& b);

//custom version 
template <class T, class Compare>
  constexpr const T& min (const T& a, const T& b, Compare comp);

//initializer list version 
template <class T> constexpr T min (initializer_list<T> il);
template <class T, class Compare>
  constexpr T min (initializer_list<T> il, Compare comp);

Parameters

a Specify the first value to compare.
b Specify the second value to compare.
comp A binary predicate that takes two elements in the range as arguments and returns a bool. It follows the strict weak ordering to order the elements.
il Specify the initializer list with the values to compare.

Return Value

Returns the smallest of a and b or in initializer list version it returns the smallest element present in the list.

Time Complexity

Linear i.e, Θ(n).

Example:

In the example below, the algorithm::min function is used to find out the smallest of the values passed as arguments.

#include <iostream>
#include <algorithm>
using namespace std;
 
int main (){
  cout<<"min(100, 250): "<<min(100, 250)<<endl;
  cout<<"min(1.5, 1.9): "<<min(1.5, 1.9)<<endl;
  cout<<"min({1, 2, -5}): "<<min({1, 2, -5})<<endl;
  return 0;
}

The output of the above code will be:

min(100, 250): 100
min(1.5, 1.9): 1.5
min({1, 2, -5}): -5

❮ C++ <algorithm> Library