我想知道为什么c ++标准要求std::sort只应该采用随机访问迭代器?我没有看到优势,因为std :: sort和std :: list :: sort都有复杂性N*log(N).限制std::sort随机访问迭代器(RAI)似乎已经使得必须为具有相同复杂性的列表编写单独的函数.
这同样适用于partial_sort,直到今天根本没有列出非RAI对应部分的部分.
这个设计是因为人们使用历史quick_sort实现的变体std::sort吗?
如果在RAI容器上编写排序算法是有好处的,那么更好地制作std::sort更通用的,并让RAI容器std::vector提供专门的v.sort吗?