¿No es la función sort() en C incapaz de ordenar elementos de tipo doble?
sort puede ordenar cualquier tipo.
La clasificación requiere que los elementos de los datos ordenados puedan pasar la comparación <; Para ser más específico, es:
Hay dos elementos a y b, y el orden de los dos elementos se puede juzgar por a lt; Si a y b no se pueden usar para lt;, debe sobrecargar el operador lt;;
Si a y b no se pueden comparar con a lt; o el requisito de clasificación no es un simple orden creciente. . Luego, debe proporcionar un tercer parámetro para ordenar, llamarlo temporalmente f y podrá determinar el orden de a y b hasta f (a, b). Por ejemplo, el siguiente código ordena una matriz doble en orden descendente según el cuadrado de los elementos. #include?lt;algorithmgt;
usando?namespace?std;
int?main()
{ double?list[]?=?{? 1.,?-1.,?0.5,?-0.25,?100.12?}; sort(lista,?lista??5,?[](doble?a,?doble?b)?{?retorno?a? *?a?gt;?b?*?b;?});
}