心有所向,日复一日,必有精进。|

榴红八色鸫

园龄:3年8个月粉丝:1关注:12

std::minmax_element的简单用法

获取一个数组中的最大值和最小值,通过匿名函数声明自定义比较策略。

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#define BUFSIZE 6
using namespace std;
typedef struct
{
std::string name;
int distance;
}vi;
int main()
{
//create dataset
vi vi_data;
std::vector<vi> vi_vector;
std::array<std::string,BUFSIZE> names = {"a","b","c","d","e","f"};
std::array<int,BUFSIZE> distances= {4,8,2,90,54,23};
for(int i = 0; i < BUFSIZE; i++){
vi_data.name = names[i];
vi_data.distance = distances[i];
vi_vector.push_back(vi_data);
}
//get min and max vi through compare vi.distance
std::pair<std::vector<vi>::iterator,std::vector<vi>::iterator> minmax; //auto
minmax = std::minmax_element(vi_vector.begin(),vi_vector.end(),
[](const vi &m1, const vi &m2){
return m1.distance < m2.distance;
});
std::cout << "min distance = " << minmax.first->distance<<endl;
std::cout << "max distance = " << minmax.second->distance<<endl;
exit(0);
}

本文作者:榴红八色鸫

本文链接:https://www.cnblogs.com/hezexian/p/17287954.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   榴红八色鸫  阅读(212)  评论(0编辑  收藏  举报
历史上的今天:
2022-04-04 Data Persistence with cv::FileStorage(数据存储)
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起