Есть ли встроенная стабильная процедура сортировки и функция подкачки в .NET?

Есть ли в .NET встроенная стабильная процедура сортировки?

Я знаю, что C++ имеет встроенную процедуру сортировки в разделе "алгоритмы" std::sort(). Аналогично, есть ли у нас что-то, что можно использовать вместе с C#?

Кроме того, есть ли встроенная функция подкачки в .NET?


person veda    schedule 12.10.2011    source источник
comment
std::sort не встроен в C++, и его стабильность не гарантируется.   -  person Doc Brown    schedule 12.10.2011
comment
Встроенный? Когда это стало встроенным?   -  person Dani    schedule 12.10.2011
comment
Стабильный в C++ — std::stable_sort.   -  person nawfal    schedule 13.06.2014
comment
Увидев, как легко было узнать о .OrderBy, и увидев, что вы задаете здесь два совершенно разных вопроса в одном, я должен проголосовать против, извините.   -  person julealgon    schedule 13.06.2014


Ответы (1)


Использование «стабильной сортировки С#» в Google показало, что этот пост SO является лучшим результатом:

Используется ли алгоритм сортировки Метод .NET `Array.Sort()` является стабильным алгоритмом?

Итак, ответ таков: Enumerable.OrderBy — это стабильная функция сортировки, не встроенная в C#, а часть библиотек фреймворка .NET.

Относительно «Swap»: я не знаю ни одной готовой универсальной функции подкачки в .NET framework, но здесь вы найдете реализацию менее чем в 10 строках кода:

static void Swap<T>(ref T lhs, ref T rhs)
{
    T temp;
    temp = lhs;
    lhs = rhs;
    rhs = temp;
}
person Doc Brown    schedule 12.10.2011