Какая сортировка алгоритма используется LINQ "OrderBy"?

Очевидно "OrderBy" LINQ был первоначально указан столь же нестабильный, но ко времени Косатки он был указан как стабильный. Не вся документация была обновлена соответственно - рассматривают эти ссылки:

Но если OrderBy LINQ теперь "стабилен", то это означает, что это не использует quicksort (который по сути нестабилен) даже при том, что в некоторой документации (например, книга Troy) говорится, что это. Таким образом, мой вопрос: если не quicksort, то то, каков фактический orderBy LINQ's алгоритма, использует?

49
задан Community 23 May 2017 в 02:10
поделиться

3 ответа

Для LINQ to Objects используется стабильный квиксорт. Для любого другого типа LINQ это остается на усмотрение базовой реализации.

52
ответ дан 7 November 2019 в 11:34
поделиться

Я понимаю, что OrderBy переводится в SQL, который выполняет сортировку в базе данных. По крайней мере, в случае LINQ to SQL

3
ответ дан 7 November 2019 в 11:34
поделиться

Отражатель загрузки, открытый для System.Linq.EnumerableSorter, показывает, что Linq2Objects использует быструю сортировку

39
ответ дан 7 November 2019 в 11:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: