最值查找——几种常用函数

简介: 最值查找——几种常用函数

min和max函数

eg

min(3,5) = 3;

min{1, 2, 3, 4} = 1;

max(5, 7) = 7;

max{1, 2, 3, 4} = 4;

min_element 和 max_element

min_element(st, ed) 返回地址[st, ed)中最小的那个值的地址(迭代器),传入参数为两个地址或迭代器。

max_element(st, ed) 返回地址[st, ed)中最大的那个值的地址(迭代器),传入参数为两个地址或迭代器。

时间复杂度均为O(n),n为数组大小(由传入的参数决定)。

vetor<int> v = {5, 1, 3, 9, 11}; // 初始化V
//输出最大的元素,*表示解引用,即通过地址(迭代器)得到值
cout << *max_element(v.begin(), v.end()) << '\n';

nth_element 函数

nth_element(st,k,ed)

进行部分排序,返回值为void()

传入参数为三个地址或迭代器。其中第二个参数位置的元素将处于正确位置,其他地理位置的顺序可能是任意的,但前面的都比它小,后面的都比它大。

时间复杂度O(n)

vector<int> v = {5, 1, 7, 3, 10, 18, 9};//初始化V
//输出最大的元素, *表示解引用,即通过地址(迭代器)得到值
nth_element(v.begin(), v.begin() + 3, v.end());
//这里v[3]的位置将会位于排序后的位置,其他的任意
for(auto &i : v) cout << i << " ";

输出

3 1 5 7 9 18 10

取小数(保留两位小数)

cout << fixed << setprecision << 1.0*sum / m << '\n';


相关文章
|
6天前
|
算法 搜索推荐 C++
C++之STL常用算法(遍历、查找、排序、拷贝、替换、算数生成、集合)
C++之STL常用算法(遍历、查找、排序、拷贝、替换、算数生成、集合)
14 0
|
2月前
|
算法 索引
从数组中查找特定元素的顺序程序设计示例
从数组中查找特定元素的顺序程序设计示例
15 0
|
2月前
|
算法 Java C++
实现一个二分搜索算法,搜索指定元素在已排序数组中的位置。(递归或者非递归实现)
实现一个二分搜索算法,搜索指定元素在已排序数组中的位置。(递归或者非递归实现)
30 0
|
2月前
|
人工智能
数组排序,查找
数组排序,查找
|
12月前
|
C语言
【C语言】在有序数组中查找某个特定的值(二分查找法)
【C语言】在有序数组中查找某个特定的值(二分查找法)
118 0
|
算法 前端开发
前端算法-查找旋排序数组中最小值
前端算法-查找旋转排序数组中最小值
|
存储 程序员 索引
python字典排序、列表排序、升序、降序、逆序如何区别使用?
python字典排序、列表排序、升序、降序、逆序如何区别使用?
227 0
|
存储 程序员 索引
python中序列的排序,包括字典排序、列表排序、升序、降序、逆序
python中序列的排序,包括字典排序、列表排序、升序、降序、逆序
127 0
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置
44 2
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置
sort() 函数按照字符串顺序对值进行排序。
sort() 函数按照字符串顺序对值进行排序。
147 0