funciones min y max en c++

Incluidas en el archivo de encabezado <algoritmo> en la biblioteca estándar de C++, las macros mínima y máxima se definen en el archivo de encabezado <windows.h>. Si se incluye <algoritmo> mientras se incluye <windows.h>, la función no estar disponible.

<windows.h> proporciona funciones como _cpp_min para reemplazar la función min.

Estándar C++11: el prototipo de la función min en <algoritmo>

predeterminado (1)
plantilla <clase T> const T& min (const T& a, const T& b);
personalizado (2)
template <clase T, clase Compare> 
  const T& min (const T& a, const T& b, Compare comp);
lista de inicializadores (3)
plantilla <clase T> T min (initializer_list<T> il); 
template <clase T, clase Compare> 
  T min (initializer_list<T> il, Compare comp);

Devuelve el más pequeño
Devuelve el menor de  a  y  b . Si ambos son equivalentes,   se devuelve a .

Las versiones para  las listas de inicializadores (3)  devuelven el menor de todos los elementos de la lista. Devolviendo el primero de ellos si estos son más de uno.

La función usa  operator<  (o  comp , si se proporciona) para comparar los valores.
eg:custom2<pre style="margin-top: 0px; margin-bottom: 0px; color: rgb(0, 128, 0);">template <class T, class Compare>
  const T& min (const T& a, const T& b, Compare comp);
 
 
#include<iostream>
#include<algorithm>
using namespace std;
struct var {
	char *name;
	int key;
	var(char *a,int k):name(a),key(k){}
};
bool comp(const var& l, const var& r) {
	return l.key < r.key;
}
int main() {
	var v1("var1", 2);
	var v2("var2", 3);
	cout << std::min(v1, v2,comp).name << endl;
	return 0;
}
stable_sort, la función max es la misma que min

Supongo que te gusta

Origin blog.csdn.net/u013349653/article/details/51136945
Recomendado
Clasificación