Возможно ли отсортировать часть списка (подмножество списка), определенного итераторами типа std::sort
?
т.е. с помощью std::list
единственный доступный доступ через метод (http://en.cppreference.com/w/cpp/container/list/sort), я хотел бы иметь возможность сортировать часть списка из его итераторы используют std::sort
. например
std::sort(listItrStart, listItrEnd, [](T& a, T& b){ return a.something() < b.something()});
Я понимаю, что итераторы становятся недействительными, как только операция перемещения выполняется над элементом, который, как я полагаю, означает, что список не может быть отсортирован с помощью итераторов без повторной итерации в нужное место до следующего "сравнения"?
В каком случае лучше всего сортировать подпрограммы списков без заполнения другого контейнера для этого процесса (если таковые имеются)?
Большое спасибо.