部分std :: list

时间:2008-10-19 22:33:53

标签: c++ stl

我有一个链接列表,我想对其进行排序,例如:

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

std :: sort需要随机访问迭代器,因此这种方法不起作用。有一个专门化的std :: list :: sort,但它只能对整个列表进行排序。我认为我没有足够的权限让列表成员自己写一些东西。

有没有办法在不更改为矢量的情况下执行此操作?

2 个答案:

答案 0 :(得分:12)

如何将要排序的列表部分取消挂钩到独立列表中, 然后使用专门的列表排序,然后将其挂回到原始列表中?

答案 1 :(得分:2)

是的,但您必须使用merge sort