sort es una función que te permite ordenar contenedores a través de sus iteradores. Por ejemplo,
vector<int> vInts;
vInts.push_back(1);
vInts.push_back(7);
vInts.push_back(9);
vInts.push_back(2);
vInts.push_back(6);
sort(vInts.begin(), vInts.end());
Como ves, sort toma dos parámetros: el iterador inicial (que lo proporciona vector<>::begin()) y el iterador final (vector<>::end()). Hace la comparación de operadores, así que si empleas clases en tu contenedor, éstas deberán contar con los operadores sobrecargados (==, <, etc). Si se te olvida, el compilador amablemente te avisará.
Hay una sobrecarga de sort:
template<class RandomAccessIterator, class Pr>
void sort(
RandomAccessIterator _First,
RandomAccessIterator _Last,
BinaryPredicate _Comp
);
Aquí, BinaryPredicate es un puntero a una función que acepta dos objetos a comparar y devuelve true o false dependiento de si el objeto 1 es mayor al objeto 2. Esto substituye la sobrecarga de operadores.
En groups.yahoo.com/group/Programmers-Town hay en la sección de archivos un PDF: "The Standard C++ Library, a tutorial and reference". Ese te ayudaría muchísimo.
Saludos.