C++ min/max_element 函数用法详解

所属分类: 软件编程 / C 语言 阅读数: 74
收藏 0 赞 0 分享

同样是O(n)复杂度,但是经过不严谨 测试,使用库函数的速度远超for循环的遍历找最值

/*
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;
}

以上所述是小编给大家介绍的C++ min/max_element 函数用法详解,希望对大家有所帮助!

更多精彩内容其他人还在看

全排列算法的非递归实现与递归实现的方法(C++)

本篇文章是对全排列算法的非递归实现与递归实现的方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

深入N皇后问题的两个最高效算法的详解

本篇文章是对N皇后问题的两个最高效的算法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

fatal error LNK1104: 无法打开文件“libc.lib”的解决方法

本篇文章是对fatal error LNK1104: 无法打开文件“libc.lib”的解决方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

数组中求第K大数的实现方法

本篇文章是对数组中求第K大数的实现方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

深入第K大数问题以及算法概要的详解

本篇文章是对第K大数问题以及算法概要进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

如何寻找数组中的第二大数

本篇文章是对如何寻找数组中的第二大数进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

用C++实现DBSCAN聚类算法

本篇文章是对使用C++实现DBSCAN聚类算法的方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

大数(高精度数)模板(分享)

本篇文章对大数(高精度数)模板进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

深入理解大数与高精度数的处理问题

本篇文章是对大数与高精度数的处理进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

C++大数模板(推荐)

本篇文章是对C++大数模板的程序代码进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享
查看更多