Necesito ordenar unos datos dentro de un array de integer, de menor a mayor. Estoy usando el método burbuja pero el array es de 10⁶ de longitud, por lo que es super ineficiente. ¿Me recomendáis algun buen método para hacer de forma eficiente?
Dejo el código que estoy usando por aquí.
Gracias de antemano.
Código
void sortData(int *x, int length)
{
for (int j = 1; j < length; j++)
{
for (int i = 0; i < length - 1; i++)
{
int aux;
if (x[i] > x[i + 1])
{
aux = x[i];
x[i] = x[i + 1];
x[i + 1] = aux;
}
}
}
}


 
  




 Autor
 Autor
		



 En línea
									En línea
								




 
						