目录
Array.SortArraySortHelper
GenericArraySortHelper
IntroSort
InsertionSort
总结
System.Array.Sort<T> 是.NET内置的排序方法, 灵活且高效, 大家都学过一些排序算法,比如冒泡排序,插入排序,堆排序等,不过你知道这个方法背后使用了什么排序算法吗?
先说结果, 实际上 Array.Sort 不止使用了一种排序算法, 为了保证不同的数据量的排序场景,都能有一个高性能的表现,实现中包括了插入排序,堆排序和快速排序, 接下来从通过源码看看它都做了哪些事情。
Array.Sort
https://source.dot.net/#System.Private.CoreLib/Array.cs,ec5718fae85b7640
public static void Sort<T>(T[] array){ if (array == null) Swap(keys, values, left, hi - 1); } return left;}总结
本文主要介绍了System.Array.Sort<T> 排序的内部实现, 发现它使用了插入排序,堆排序和快速排序,大家有兴趣可以看一下java或者golang的排序实现,希望对您有用。
到此这篇关于.NET 排序 Array.Sort<T> 实现分析的文章就介绍到这了,更多相关.NET 排序 Array.Sort<T>内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!








