现在将讨论回到中值排序上来,你也许会非常惊讶,因为注意到无论pivotIndex的值是多少,selectKth都能很好地运行。而且,当selectKth返回的时候,不需要执行中值排序算法的第5~8行代码(图4-8),因为切分已经完成了。也就是说,左半部的元素都是小于或者等于中值的,反之,右半部的元素都是大于等于中值的。 例4-5的中值排序函数将要对A[0,n-1]进行排序。 例4-5:中值排序的C语言实现