快速选择中，虽然大部分元素仍是乱序的，但是基准元素已经在最终排序好的位置上，所以我们知道想找的元素在哪个分区中。 因此，一个递归循环分支就能帮助我们定位想找的元素，从而得到快速选择的算法：注意到与快速排序的相似之处：就像基于寻找最小值的选择算法是部分选择排序，这可以认为是部分快速排序，只进行O("n" log "n")而不是O("n")次分区。这个简单的过程具有预期的线性时间复杂度，并且如快速排序一样有相当良好的实际表现。 这也是一个原地算法，只需要栈内常数级的内存，或者可以用循环来去掉尾递归：Sec