我看过一段代码:
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``。默认情况下排序规则是什么? (比较矢量范数或其他东西?)
我通过互联网搜索但未能得到任何线索......
答案 0 :(得分:2)
它不会编译,因为operator<
没有定义Eigen::Matrix
。因此,您需要提供自己的比较函数,以nth_element
实施您选择的策略。