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

 更新时间:2023年02月12日 15:05:48   作者:漫漫想想  
这篇文章主要介绍了c++中关于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++11智能指针之weak_ptr详解

    C++11智能指针之weak_ptr详解

    这篇文章主要介绍了 C++11智能指针之weak_ptr详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • C++实现教职工管理系统课程设计

    C++实现教职工管理系统课程设计

    这篇文章主要为大家详细介绍了C++实现教职工管理系统课程设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C语言实现关机小程序

    C语言实现关机小程序

    这篇文章主要为大家详细介绍了C语言实现关机小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结

    深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结

    本篇文章是对C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程进行了总结与分析,需要的朋友参考下
    2013-05-05
  • C++深入分析STL中map容器的使用

    C++深入分析STL中map容器的使用

    map在编程中是经常使用的一个容器,本文来讲解一下STL中的map,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C语言结构体的全方面解读

    C语言结构体的全方面解读

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许你存储不同类型的数据项
    2021-10-10
  • C++ 容器适配器仿函数与priority_queue的使用

    C++ 容器适配器仿函数与priority_queue的使用

    本文主要介绍了C++ 容器适配器仿函数与priority_queue的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • C/C++中二进制文件&顺序读写详解及其作用介绍

    C/C++中二进制文件&顺序读写详解及其作用介绍

    这篇文章主要介绍了C/C++中二进制文件&顺序读写详解及其作用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • C语言中深度优先搜索(DFS)算法的示例详解

    C语言中深度优先搜索(DFS)算法的示例详解

    这篇文章主要通过两个简单的示例为大家详细介绍一下C语言中深度优先搜索(DFS)算法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-02-02
  • Qt中QStackedWidget控件的实现

    Qt中QStackedWidget控件的实现

    QStackedWidget是Qt框架中一个非常有用的控件,它允许你堆叠多个窗口部件,本文主要介绍了Qt中QStackedWidget控件的实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04

最新评论