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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2022-04-04 Data Persistence with cv::FileStorage(数据存储)