我需要在数组中找到第 n 个最大的元素,目前我正在按照以下方式进行操作:
std::vector<double> buffer(sequence); // sequence is const std::vector<double>
std::nth_element(buffer.begin(), buffer.begin() + idx, buffer.end(), std::greater<double>());
nth_element = buffer[idx];
但是有没有办法在不使用外部缓冲区的情况下找到数组中的第 n 个最大元素?