fig bound too small the chosen bound was too large the splitting operation has to be repeated on the partition al aj (see fig < > fig bound too large ithe element ak splits the array into two partitions in the specified proportions and therefore is the desired quantile (see fig < >jki fig correct bound the splitting process has to be repeated until case arises this iteration is expressed by the following piece of programl : :nwhile - do : [ ]partition ( [la[ - ])if then : endif then : end end for formal proof of the correctness of this algorithmthe reader is referred to the original article by hoare the entire procedure find is readily derived from this procedure find (kinteger)(*reorder such that [kis -th largest*var lrijintegerwxitembegin : : - while - do : [ ] :lj :rrepeat while [ix do : + endwhile [jdo : - endif < then : [ ] [ : [ ] [ :wi : + : - end until jif then : endif then : end end (adens _sorts *