Я бы хотел найти порядок сортировки вектора, например, без переупорядочения вектора.
Я могу придумать несколько способов сделать это, мне интересно, не хватает ли мне какого-нибудь встроенного STL или BOOST способа сделать это.
Я думаю, что если бы функциональность была доступна, код в конечном итоге выглядел бы примерно так:
std::vector<float> unsortedSeq;
unsortedSeq.push_back( 1.1 );
unsortedSeq.push_back( 1.0 );
unsortedSeq.push_back( 0.5 );
unsortedSeq.push_back( 1.2 );
unsortedSeq.push_back( 1.15 );
std::list<std::size_t> sortOrder;
std::sort_indices( unsortedSeq.begin(), unsortedSeq.end(), sortOrder.begin() );
BOOST_FOREACH( std::size_t index, sortOrder )
{
std::cout << index << "\n"
}
2
1
0
4
3
Кто-нибудь знает любые STL или BOOST-симы, которые будут делать то, о чем я спрашиваю, так же просто, как показано?