C++---实用编程技巧记录(使用库函数 lambda表达式求最小、大值,排序等)

C++---实用编程技巧记录(使用库函数 lambda表达式求最小、大值,排序等),第1张

C++---实用编程技巧记录
  • 1. 求最小值/最大值
  • 2. 排序

注:为了写出高质量的代码,一些简单的逻辑尽量用库函数去实现,减少代码量;

1. 求最小值/最大值
  • 普通vector 求最小值
std::vector  x={0,2,3,7,4,1};
auto min_inter = std::min_element(x.begin(), x.end());
double min= *min_inter; // 值
int index = std::distance(x.begin(),min_inter); //索引

  • map或者vector 根据需要根据某一维度数值获得最大最小值
// 使用lambda表达式
std::vector pts;
auto compare_x = [](const cv::Point2f &p0, const cv::Point2f &p1) -> bool {
    return (p0.x < p1.x);
};
auto min_inter = std::min_element(pts.begin(), pts.end(),compare_x);
cv::Point2f min= *min_inter; // 值
int index = std::distance(pts.begin(),min_inter); //索引

以上当然可以直接进行排序,使用 sort函数

2. 排序

std::vector pts;
// 升序
auto sort_x = [](const cv::Point2f &p0, const cv::Point2f &p1) -> bool {
    return (p0.x < p1.x);
};
std::sort(pts.begin(), pts.end(), sort_x);

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/707156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存