顾名思义,该函数实际上是否qsort()
使用快速排序算法?stdlib.h
问问题
389 次
2 回答
6
该qsort()
函数可以使用库实现者选择的任何排序算法来实现,但顾名思义,该算法应该接近最优。使用 O(N 2 ) 算法是允许的,但这是一个主要的 QoI(实施质量)问题。
值得注意的是,与qsort()
接口比较是相当昂贵的;任何增加比较次数以减少移动次数的排序算法(如果您不洗牌指针也可能很昂贵)可能会导致性能下降。但是,这是库实现者需要关注的问题。除非你发现这个库的实现很糟糕(现在这不太可能),否则不要担心。
C++sort
算法可以围绕 C 的qsort
.
于 2013-08-26T00:11:30.803 回答
1
C11 标准没有规定。所以任何合理的 O(n log n) 都是可以接受的。
于 2013-08-26T00:12:11.850 回答