C++ STL algorithm sort