解决方案

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

例4-5的中值排序函数将要对A[0,n-1]进行排序。

例4-5:中值排序的C语言实现

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

阅读 ‧ 电子书库