此子模块实现重载排序子例程 SORT
,可用于对四种 INTEGER
数组和三种 REAL
数组进行排序。排序按升序排列,最坏情况下的运行时间性能为 O(N Ln(N))
。
SORT
使用 David Musser 的 INTROSORT
排序算法,http://www.cs.rpi.edu/~musser/gp/introsort.ps。introsort
是一种混合的不稳定比较算法,结合了 quicksort
、insertion sort
和 heap sort
。虽然此算法始终为 O(N Ln(N)),但它在随机排序数据上速度相对较快,但在部分排序数据上的性能不一致,有时具有 merge sort
性能,有时具有优于 quicksort
的性能。