我认为问题标题很清楚:stable_sort() 是否可以在 C++ 中使用 std::list?还是我必须将其转换为 std::vector?
我问是因为我尝试了一个简单的示例,它似乎需要 RandomAccessIterators,而链表没有。那么,如何稳定排序 std::list()?
编辑:给我一个错误的示例代码:
#include <list>
#include <algorithm>
// ...
list<int> the_list;
stable_sort(the_list.begin(), the_list.end());
g++ 给了我大约 30 行错误(太长无法粘贴),其中一些是指 RandomAccessIterators(以及称为 _merge_sort_loop 的东西)。这有点奇怪,因为我已经看到了一些链表的合并排序实现,它们几乎是“顺序的”。