c# - .NET框架实现了什么排序算法

标签 c# sorting collections icomparable

<分区>

在 .NET 中实现 IComparable 之类的东西时,有人可以建议 .NET 使用什么排序算法对基础数据进行实际排序吗?所使用的算法是可定制的还是可选的?

最佳答案

有两个大问题。

Array.Sort (就地对数组进行排序)使用 unstable Quicksort .

这与 List<T>.Sort 内部使用的实现相同,根据 MSDN 文档:

This method uses Array.Sort, which uses the QuickSort algorithm.

Enumerable.OrderBy<TSource, TKey> 方法(对输入序列的副本进行排序)使用稳定的快速排序

据我所知,这是 .NET BCL 中仅有的两种排序实现。

关于c# - .NET框架实现了什么排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5958769/

相关文章:

java - 如何以最快的方式将两个排序数组相交?

lucene - 如何在 lucene 中对等分应用默认排序?

javascript - 在多维中对两个值进行排序

WPF ICollectionView 刷新

c# - 当枚举名称与类名称冲突时该怎么办?

c# - 私有(private)成员是否包含在 TypeInfo 声明的属性中?

c# - 使用 lists.asmx 网络服务下载列表附件

c# - 在 Dynamics CRM 2011 中发送多部分电子邮件(html+纯文本)?

java - 如何在 Java 中对 EnumSet 中的元素进行洗牌/随机化?

java - 如何找到arrayList中的第n个索引