Ciao,
Beh, allora come detto (un vettore di MAX caratteri) è sufficiente un qualsiasi algoritmo di base per l'ordinamento dei vettori...
Dal selection sort, all'insertion sort, al bubble sort al quicksort (il qsort l'hai direttamente tra le funzioni di libreria, gli altri puoi trovare indicazioni sull'implementazione praticamente dappertutto - da internet a qualsiasi libro di programmazione).
Nell'implementazione più semplice (farai N*N confronti e scambi - le prestazioni non sono buone, ma per vettori "piccoli" può ancora andare) farai una doppia for (indici i e j diciamo)... confronti l'elemento i con tutti gli elementi j>i, se l'elemento i è maggiore di j li scambi e continui. In questo modo in i avrai sempre l'elemento minore tra i successivi.
Visto che i parte da 0, porterai in posizione 0 il minore di tutti i j>=0 (quindi il minore di tutti), quindi passi ad 1 e ci inserisci il minore tra i j>=1, e così via... al termine delle iterazioni avrai il vettore ordinato (in 0 il minore in N-1 il maggiore).
Ciaociao