Cambie los sorts para que retornaran un arreglo, ademas arregle el
mergesort para que solo pidiera un arreglo y no dos, movi el merge de
Useful en Sort.

Tambien agrege a todos los sort un parametro que deben recibir que va a
servir de contador (para contar las comparaciones).

Onda hago algo como:
Counter a=new Counter();
mergesort(arreglo,0,arreglo.size(),a)
a.comparaciones() // esto entregaria las comparaciones que hizo el merge
a.reset() // vuelve a cero las comparaciones.

Tambien agrege la funcion que servira para poder hacer los arreglos casi
ordenados que es casi igual que generador aleatorio solo que hace una
cantidad dada de swaps que es el  parametro desorden, es decir,
funcion(n,n)=generador aleatorio(n) , onda y para hacer arreglos casi
ordenados bastaria con que el segundo n fuera chico en comparacion con
el porte del arreglo