E in ogni caso va fatta una seria analisi del problema.

E' sbagliato che tu chieda come fare a riempire l'array, ordinarlo, ecc., perche' cosi' semplicemente si segue il tuo algoritmo senza garanzia che questo sia ottimale dal punto di vista della velocità.

Bisogna (ri)partire dal problema da affrontare ...