Hola, compañerxs.
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.
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 (c) [Seleccionar]
void sortData(int *x, int length)
{
printf("Empieza metodo burbuja\n");
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;
}
}
}
printf("Acaba metodo burbuja\n");
}