Я пытаюсь реализовать алгоритм поискового вызова для набора данных, отсортированного по многим критериям. К сожалению, хотя некоторые из этих критериев могут быть реализованы на уровне базы данных, некоторые из них должны выполняться на уровне приложения (мы должны интегрироваться с другим источником данных). У нас есть запрос подкачки (на самом деле бесконечный прокрутка) и вы ищете способ минимизировать боль при сортировке всего набора данных на уровне приложения с каждым вызовом поискового вызова.Есть ли C# эквивалент C++ std :: partial_sort?
Каков наилучший способ сделать частичный вид, только сортировка части списка, которую необходимо отсортировать? Существует ли эквивалент функции C++ std::partial_sort
, доступной в библиотеках .NET? Как мне решить эту проблему?
EDIT: Вот пример того, что я иду:
Допустим, мне нужно получить элементы 21-40 из множества 1000 элементов, согласно некоторым критериям сортировки. Чтобы ускорить сортировку, и поскольку я все равно должен проходить через весь набор данных (это веб-сервис через HTTP, который является апатридом), мне не нужен весь набор данных, заказанный. Мне нужно только правильно настроить элементы 21-40. Достаточно создать 3 раздела: Элементы 1-20, unsorted (но все меньше элемента 21); элементы 21-40, отсортировано; и элементы 41-1000, несортированы (но все больше элемента 40).
можно дублировать http://stackoverflow.com/questions/2540602/does -c-sharp-have-a-stdnth-element-эквивалент – FlavorScape
Не совсем - это вопрос * выбор *, и это вопрос * частичной сортировки *. Тем не менее, не стесняйтесь дать ответ о том, как эта проблема может быть решена с точки зрения этой проблемы, если это возможно. –
При пейджинге, если что-то было в конце списка, и, сортируя его, вначале было показано, как будет выполняться частичная сортировка? Разве никто не должен касаться каждого элемента? –