我是靠谱客的博主 谨慎钢铁侠,这篇文章主要介绍C++ min/max_element 函数用法详解,现在分享给大家,希望可以做个参考。

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
/* param begin : 序列起始地址(迭代器) param end : 序列结束地址(迭代器) return : 序列中最小元素地址(迭代器) */ min_element(begin, end); /* param begin : 序列起始地址(迭代器) param end : 序列结束地址(迭代器) return : 序列中最大元素地址(迭代器) */ max_element(begin, end);

注意:

接收的参数是容器的首尾地址(迭代器)(可以是一个区间)
返回的是最值元素的地址(迭代器),需要减去序列头以转换为下标

示例:


复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#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++ min/max_element 函数用法详解的全部内容,更多相关C++内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(130)

评论列表共有 0 条评论

立即
投稿
返回
顶部