Para este tipo de tareas es bueno este recurso:
https://rosettacode.org/wiki/Categor...ing_Algorithms
(Cada ejemplo esta implementado en decenas de diferentes lenguajes, no solo mostrando como seria en el tuyo sino dejandote ver otras formas de hacerlo!)
Y si estas buscando como hacer el sort mas eficiente, tienes que leer los diversos algoritmos a ver cual da la talla para el caso especifico:
https://stackoverflow.com/questions/...ly-sorted-data