Il codice è lunghissimo e molto intricato... ma quello che non mi spiego è: se il codice è lo stesso non dovrebbe dare,alle stesse condizioni di partenza, lo stesso risultato(giusto o sbagliato che sia)? Invece qui restituisce una volta un ordinamento corretto e riaggiornando quello sbagliato e così via... come può essere il codice?