Gli ordinamenti evoluti utilizzano degli algoritmi con complessità minima.
Merge sort
Utilizza la funzione merge() che realizza la fusione di 2 sotto array già ordinati
void mergeSort(double[] v, int inf, int sup) { if(inf < sup) { int medio=(inf+sup)/2; mergeSort(v, inf, medio ); mergeSort(v , medio+1, sup); merge (v, inf, medio , sup); } }
Quick sort
...
...
Nota
Per controllare la bontà degli algoritmi puoi confrontare le loro prestazione con il metodo predefinito java.util.Arrays.sort()