secondo me con un array_multisort fai tutto quello che devi fare per quanto riguarda il riordinamento del tuo array.Altrimenti fatti una funzione di bubblestoring nella quale ti imposi manualmente il controllo. IL bubble sort e' un algoritno niente male da implementare. Hai un ottimo rapporto complessità prestazioni. E' facile da ricordare.
Altrimenti puoi fare anche un bel merge-sort(se nn ricordo male si chiama cosi) tanto per non perdere la pratica con gli algoritmi di ordinamento dati![]()