Consider a predicate function like what qsort() requires.