我有一个链接列表,我想对其进行排序,例如:
std::sort(someIterator, otherIterator, predicate);
std::sort 需要随机访问迭代器,因此这种方法不起作用。有一个专门化的 std::list::sort,但它只能对整个列表进行排序。我认为我没有足够的权限访问列表成员来自己写一些东西。
有没有办法做到这一点而不改变,比如说,矢量?
如何将您想要排序的列表部分解绑到一个独立列表中,然后使用专门的列表排序,然后将其重新连接到原始列表中?
是的,但您必须使用合并排序。