Tag: partial sort

是否有C#等同于C ++ std :: partial_sort?

我正在尝试通过许多标准为可排序的数据集实现分页算法。 不幸的是,虽然其中一些标准可以在数据库级别实现,但有些必须在应用程序级别完成(我们必须与另一个数据源集成)。 我们有一个分页(实际上是无限滚动)的要求,并且正在寻找一种方法来最小化在每次分页调用时在应用程序级别对整个数据集进行排序的痛苦。 进行部分排序的最佳方法是什么,只排序绝对需要排序的列表部分? 是否有相当于.NET库中可用的C ++的std::partial_sort函数? 我该如何解决这个问题? 编辑:这是我想要的一个例子: 假设我需要根据一些排序标准获得1000个元素集的元素21-40。 为了加快排序速度,因为我每次都必须遍历整个数据集(这是一个基于HTTP的Web服务,这是无状态的),我不需要整个数据集。 我只需要正确排序21-40元素。 创建3个分区就足够了:元素1-20, 未排序 (但都小于元素21); 元素21-40, 排序 ; 和元素41-1000, 未排序 (但都大于元素40)。