首页 > 其他分享 >std::minmax_element的简单用法

std::minmax_element的简单用法

时间:2023-04-04 21:22:31浏览次数:28  
标签:std distance vi element vector minmax data

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

#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);
}

标签:std,distance,vi,element,vector,minmax,data
From: https://www.cnblogs.com/hezexian/p/17287954.html

相关文章

  • Element-ui使用过程中遇到的问题
    1.修改表单中的数据,列表行数据对应的同步修改原因:this.model=record;行为属于浅拷贝,直接修改,会修改指针地址中的内容;解决方法:(1)使用JSON转换:this.model=JSON.parse(JSON.stringtify(record));(2)使用Object.assign:this.model=Object.assign({},record);......
  • element Plus 中el-tooltip 和 el-popover超出宽度显示文字提示 否则不提示
    说明:设置固定宽度。文字超出宽度,用...显示。鼠标悬停到文字上,用el-tooltip显示全部文字内容如果文字未超出宽度,el-tooltip、el-popover隐藏。html:1<el-tooltip:content="node.label"placement="bottom"effect="light":disabled="isShowTooltip">2<span......
  • c++ std::package_task,task.get_future()
    #include<iostream>#include<future>#include<thread>intcountdown(intfrom,intto){for(inti=from;i!=to;--i){std::cout<<i<<std::endl;std::this_thread::sleep_for(std::chrono::seconds(1));......
  • UCUP-ZJ M. Minimum Element Problem
    题意给定一个位置x,求在\(p_x\)分别取1-n的所有情况下,对应笛卡尔树不同的排列个数。题解先不考虑\(p_x\),列出转移式,发现是卡特兰数。进一步地,可以把排列对应笛卡尔树意义下的不同构数,和二叉树不同构数等价联系起来:因为对于任何一个二叉树,按照中序遍历在上面填1-n,就可以唯一确定......
  • C++17:新特性之std::optional
    考虑一个问题,C++如何实现返回多个值?如何标记其中一个bool返回值用于记录函数运行状态?我们可以通过pair或tuple实现,有以下代码:#include<iostream>#include<string>usingnamespacestd;structss{ strings; intsize;};pair<bool,ss>func2(conststring&in){......
  • 【FastDFS分布式文件系统】5.FastDFS客户端的配置、启动和常用命令
    上一篇我们介绍了FastDFS服务端的tracker追踪服务器和storage存储服务器,本篇来介绍一下客户端的启动,以及外部客户端如何与FastDFS服务端进行连接。和之前一样,服务端部署在三台服务器上:其中192.168.195.129是tracker追踪服务器,192.168.195.130和192.168.195.131......
  • 【FastDFS分布式文件系统】6.FastDFS客户端启动与Java连接
    上一篇我们讲解了如何配置和启动FastDFS客户端,以及客户端上传下载的一些常用命令。那么,在许多需要进行分布式文件上传与下载的系统中,就不能像执行Linux命令一样去上传和下载文件,它们需要使用开发系统的语言去操作客户端使用其命令与服务端进行交互,此时FastDFS......
  • Element UI 【表格合计】el-table 实战范例 -- 添加单位,自定义计算逻辑
    需求描述末尾合计行的需求如下:第1列显示“合计”无法求和的列,显示“——”可以求和的列,显示求和结果,并添加对应的单位命中率列的合计逻辑为:总命中数/总射击次数代码实现要点详见代码中的备注<template><divclass="tableBox"><el-table:data="tableData"bo......
  • element树形复选框实现一级菜单单选
      <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • Unknown custom element: <el-empty> - did you register the component correctly? For
     报错原因:“el-empty”未注册解决:element版本太低了,当前版本里面查找不到el-enpty这个组件,需要重新安装一下element的版本。[email protected]@2.15.6-S重新运行,上面的问题就解决了。......