Bueno, yo conozco 2 sistemas de ordenar, uno sin tener que hacer nada adicional, y el otro con una funcion.
El primero usa la funcion Sort de la libreria estándard de Visual C++
Para poder ordenar tienes que pasar los datos en un vector tambien de la libreria estándard. Esto se hace así :
1. Declaras un vector con "std::vector<"tipo">& "nombre"" i despues con un bucle, entras los datos al vector.
2. Llamas a la funcion : "std::sort("nombre".begin(),"nombre".end());
y lo ordena.
El segundo sistema es llamando a la funcion qsort, que hay en la libreria stdlib.h de C y C++. Esta tiene la dificultad que tienes que trabajar con punteros a funciones, o sea un puntero a la funcion que ordena.
La declaracion es :
void qsort(void *base, size_t noelementos, size_t longitud, int (*funcionordenadora)(const void *, const void * ));
Los 2 const void * seran los parametros que entra el algoritmo a tu funcion para compararlos. Por lo tanto en tu funcion de ordenacion tienes que usarlos.
Espero que te haya servido esto de algo. Si tienes qualquier duda mas no dudes en enviarme un e-mail. Venga adios.