部分std :: list

Pet*_*ter 7 c++ stl

我有一个链表,我想排序的部分,例如:

std::sort(someIterator, otherIterator, predicate);
Run Code Online (Sandbox Code Playgroud)

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

有没有办法做到这一点,而不改变,比如,矢量?

Evi*_*ach 12

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

  • 那是个好主意.很容易忘记splice()方法的强大功能. (2认同)