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

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

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';


相关文章
|
7月前
|
计算机视觉
用calcHist()函数查找直方图
【6月更文挑战第7天】用calcHist()函数查找直方图。
88 2
|
8月前
|
数据挖掘 数据处理 索引
使用Python实现DataFrame中奇数列与偶数列的位置调换
使用Python实现DataFrame中奇数列与偶数列的位置调换
95 1
|
8月前
qsort排序的基本用法
qsort排序的基本用法
31 0
|
8月前
|
C#
C#中sort排序相关用法介绍
C#中sort排序相关用法介绍
|
8月前
|
Go C++ Java
C/C++每日一练(20230412) 二维数组找最值、排序
C/C++每日一练(20230412) 二维数组找最值、排序
71 0
C/C++每日一练(20230412) 二维数组找最值、排序
|
搜索推荐 C++
深入解析 qsort 排序(上),它为什么是万能排序?
深入解析 qsort 排序(上),它为什么是万能排序?
116 0
|
C语言
利用指针方法求数组的最值
利用指针方法求数组的最值
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置
67 2
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置
|
Java
Java数组、排序和查找
Java数组、排序和查找
87 0