Curiosamente hice un programa para ordenar una lista de nombres alfabeticamente: Esta en C no se si te valdra para algo.
int menoroigual(char* uno, char* otro){
int menor=0;
int i=0;
if ( strlen(uno)>= strlen(otro) )
{
while ( i< strlen(otro) )
{
if ((int)uno[i] < (int)otro[i])
{return 1;}
if ((int)uno[i] > (int)otro[i])
{return 0;}
i++;
}
return 0; /* Es mas largo y el otro es prefijo. */
}
else // otro es mas peque
{
while ( !menor && i< strlen(otro) )
{
if ((int)uno[i] < (int)otro[i])
return 1;
if ((int)uno[i] > (int)otro[i])
return 0;
i++;
}
}
}
El algoritmo de ordencion no te lo paso que es una vergüenza lo que hice porque como solo era ordenar 300 pues.... xD