Eigen库成员的nth_element的默认策略是什么?

时间:2017-06-30 09:27:22

标签: c++ sorting std eigen stdvector

我看过一段代码:

template<class T>
T getMedian(vector<T>& data_vec)
{
    assert(!data_vec.empty());
    typename vector<T>::iterator it = data_vec.begin()+floor(data_vec.size()/2);
    nth_element(data_vec.begin(), it, data_vec.end());
    return *it;
}

让我们说,例如,T在特征库中是`vector2D``。默认情况下排序规则是什么? (比较矢量范数或其他东西?)

我通过互联网搜索但未能得到任何线索......

1 个答案:

答案 0 :(得分:2)

它不会编译,因为operator<没有定义Eigen::Matrix。因此,您需要提供自己的比较函数,以nth_element实施您选择的策略。