Недавно прочел один пост на тему "Всё ещё сортируете "пузырьком?".
Если честно, то вообще никогда не задумывался, какой алгоритм сортировки использует метод Sort(), класса List<T> (и подобных классов в библиотеке .NET, и всех классов, которые работают с массивами в .NET). Но, в том посте, заинтересовали выкладки о производительности различных методов сортировки (того самого "пузырька" и метода Шелла).
И я задумался-таки, а не подкачали разработчики Майкрософта в проекте .NET?
В библиотеке MSDN, пришлось найти описание метода Sort(), класса List<T> и вот, привожу выдержку из ремарки к методу...
...This method uses Array.Sort, which uses the QuickSort algorithm. This implementation performs an unstable sort; that is, if two elements are equal, their order might not be preserved. In contrast, a stable sort preserves the order of elements that are equal...
...из которой следует, что разработчики библиотеки .NET не подвели, и использовали наиболее быстрый метод сортировки QuickSort (метод Чарльза Хоара). К тому же стоит учесть, что метод Array.Sort скомпилирован в машинный код, что само собой, положительно сказывается на производительности.