C++max_element()min_element()函数简介

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++max_element()min_element()函数简介相关的知识,希望对你有一定的参考价值。

max_element()min_element()函数简介

max_element()与min_element()分别用来求最大元素和最小元素的位置。

  • 接收参数:容器的首尾地址(迭代器)(可以是一个区间)

  • 返回:最值元素的地址(迭代器),需要减去序列头以转换为下标

vector<int> n;

int maxPosition = max_element(n.begin(),n.end()) - n.begin(); //最大值下标

int minPosition = min_element(n.begin(),n.end()) - n.begin();//最小值下标

int maxV = *max_element(n.begin(),n.end()); //最大值

int minV = *min_element(n.begin(),n.end());//最小值

2)普通数组
int a[]=1,2,3,4;
int maxPosition = max_element(a,a+2) - a; //最大值下标

int minPosition = min_element(a,a+2) - a;//最小值下标

https://zsyll.blog.csdn.net/article/details/129406682

#include <bits/stdc++.h>
using namespace std;
using gg = long long;
int main() 
    ios::sync_with_stdio(false);
    cin.tie(0);
    gg ni;
    cin >> ni;
    vector<gg> v(ni);
    for (gg& i : v) 
        cin >> i;
    
    sort(v.begin(), v.end());
    adjacent_difference(v.begin(), v.end(), v.begin());
    cout << *min_element(v.begin() + 1, v.end());
    return 0;

#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)

      return a<b;

int main()

      int num[]=2,3,1,6,4,5;
      cout<<"最小值是 "<<*min_element(num,num+6)<<endl;
      cout<<"最大值是 "<<*max_element(num,num+6)<<endl;
      cout<<"最小值是 "<<*min_element(num,num+6,cmp)<<endl;  // 其中cmp为可选择参数!
      cout<<"最大值是 "<<*max_element(num,num+6,cmp)<<endl;
      return 0;

*max_element(n.begin()+1, n.end());

这是C++语言中的一个函数,函数名为max_element,它接受两个迭代器作为参数,表示一个范围。在这个例子中,n.begin()+1表示迭代器从n数组的第二个元素开始,n.end()表示迭代器到n数组的最后一个元素。

所以这个函数的作用是在指定范围内找到最大的元素,并返回指向该元素的迭代器

参考https://zhuanlan.zhihu.com/p/435905136

加油!

感谢!

努力!

以上是关于C++max_element()min_element()函数简介的主要内容,如果未能解决你的问题,请参考以下文章

STL algorithm算法max,max_elements(33)

对 std::max_element 施加条件

std::max_element() 有多聪明?

max_element和min_element的用法

在二维矩阵上使用 std::max_element

std::max_element