use class
find the k-th maximum data in a list in O(n)