为什么大多数人对元素少于n的子数组使用插入排序来优化快速排序?我编写了一个插入排序函数和shell排序函数,并使用一些包含10、50、100个元素的随机数组来调用它们。shell排序似乎更快(我只用clock()来测量时间;我不知道这是不是一个好方法)。如果它比插入排序快,为什么不更多的人使用shell排序呢?我在插入排序函数中有错误吗?: Sorted in 0.002000 millisecon
在Haskell中,sort的类型为(Functor io, MonadIO io, Ord a) => Shell a -> io [a]。它以Shell monad的形式接收流,将其排序为列表,然后将其包装在MonadIO??中。我原以为sort是(Ord a) => Shell a -> Shell a,所以它很适