Ti suggerisco di leggere questo articolo:

Come ordinare i tuoi array (con bubble sort, heap sort, insertion sort, merge sort, quick sort, selection sort, shell sort)