伙伴云客服论坛»论坛 S区 S软件开发 查看内容

0 评论

0 收藏

分享

c++中关于max_element()函数解读

目录

    C++ min/max_element ()函数用法C++中max()与max_element()的区别
      max与max_element简析程序代码运行截图
    总结


C++ min/max_element ()函数用法

/*
param begin : 序列起始地址(迭代器)
param end  : 序列完毕地址(迭代器)
return   : 序列中最小元素地址(迭代器)
*/
min_element(begin, end);
 
/*
param begin : 序列起始地址(迭代器)
param end  : 序列完毕地址(迭代器)
return   : 序列中最大元素地址(迭代器)
*/
max_element(begin, end);#include <iostream>
#include <algorithm>
 
using namespace std;
#define len 7
 
int main()
{
    int a[7] = {11, 4, 51, 41, 91, 98, 10};
    int min_idx = min_element(a, a+len) - a;
    int max_idx = max_element(a, a+len) - a;
    cout<<min_idx<<" "<<a[min_idx]<<endl;
    cout<<max_idx<<" "<<a[max_idx]<<endl;
     
    return 0;
}这里给出了max_element()函数的一种使用方法
cout<<*max_element(a,a+7);我们已经晓得返回的是地址,减去数组名是获得下标
同理我们可以直接通过地址获取值

C++中max()与max_element()的区别


max与max_element简析

    max(a,b),返回a,b两者之间的较大值max_element(r, r+6),返回数组r中[0, 6)之间的最大值的迭代器,
使用max_element返回的值减去数组头地址即为该最大值在数组的序号
min 和 min_element的区别同上,看到下面的例子你就会明白了

程序代码

#include <iostream>
#include <algorithm>
using namespace std;
int main(void)
{
        int a[6] = {5, 3, 2, 6, 1, 4};
        int b = a[0];
        int c = a[1];
        cout<<max(b, c)<<" "<<min(b,c)<<endl; //输出为5 3
        cout<<max_element(a, a+6) - a<<endl;// 输出为3
        cout<<*max_element(a, a+6)<<endl;//输出为 6
        cout<<min_element(a, a+6) - a<<endl;// 输出为4
        cout<<*min_element(a, a+6)<<endl;         //输出为1
        return 0;
}

运行截图

c++中关于max_element()函数解读-1.png


总结

以上为个人经历,希望能给大家一个参考,也希望大家多多支持网站。

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

桦艺
注册会员
主题 21
回复 23
粉丝 0
|网站地图
快速回复 返回顶部 返回列表