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; } } } }