Частичный вид std :: list - PullRequest
       5

Частичный вид std :: list

7 голосов
/ 20 октября 2008

У меня есть связанный список, часть которого я хочу отсортировать, например:

std::sort(someIterator, otherIterator, predicate);

std :: sort требует итераторов с произвольным доступом, поэтому этот подход не работает. Существует специализация std :: list :: sort, но она может сортировать только весь список. Я не думаю, что у меня достаточно доступа к участникам списка, чтобы написать что-то сам.

Есть ли способ сделать это без изменения, скажем, вектора?

Ответы [ 2 ]

12 голосов
/ 20 октября 2008

Как насчет отсоединения части списка, которую вы хотите отсортировать, в автономный список, затем использовать специализированную сортировку списка, а затем подключить его обратно к исходному списку?

2 голосов
/ 20 октября 2008

Да, но вам придется использовать сортировку слиянием .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...