c++ - std::list 的部分排序

标签 c++ stl

我有一个链表,我想对其中的一部分进行排序,例如:

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

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

有没有一种方法可以在不更改为 vector 的情况下执行此操作?

最佳答案

如何将列表中您想要排序的部分脱钩到一个独立的列表中, 然后使用专门的列表排序,然后将其 Hook 回原始列表?

关于c++ - std::list 的部分排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/217073/

相关文章:

c++ - 在 C++ 中使用 std::getline() 的签名错误

c++ - 如何将元素从 STL 队列传递给函数?

c++ - Visual Studio 2010 : Linker > Command Line contains unneeded . 库

python - 是否有好的库可以快速进行非负矩阵分解(NMF)?

c++ - 模板参数推导失败

c++ - 如何显示图的邻接表的元素?

c++ - C 的标准库

c++ - Visual Studio Express 显示错误 : "internal error occured in compiler"

c++ - 无法分配给 mapType::const_iterator? ("no operator = matches")

c++ - vector 索引器出现奇怪的访问冲突