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

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

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


相关文章
|
10月前
qsort排序的基本用法
qsort排序的基本用法
40 0
|
10月前
|
Python
pandas判断某列是否已按从小到大排序
其中,`is_monotonic_increasing`是pandas的一个方法,用于判断某列是否按从小到大排序。如果返回True,则表示该列已按从小到大排序,否则表示没有排序或排序不是从小到大。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
84 1
|
10月前
|
C#
C#中sort排序相关用法介绍
C#中sort排序相关用法介绍
|
10月前
|
Go C++ Java
C/C++每日一练(20230412) 二维数组找最值、排序
C/C++每日一练(20230412) 二维数组找最值、排序
99 0
C/C++每日一练(20230412) 二维数组找最值、排序
|
10月前
|
搜索推荐
实现bubble_sort冒泡排序函数,排序任意类型数据
实现bubble_sort冒泡排序函数,排序任意类型数据
81 0
|
10月前
Qsort函数实现对各类型数组中元素的排序(思路简单)
Qsort函数实现对各类型数组中元素的排序(思路简单)
|
搜索推荐 C++
深入解析 qsort 排序(上),它为什么是万能排序?
深入解析 qsort 排序(上),它为什么是万能排序?
129 0
|
C语言
利用指针方法求数组的最值
利用指针方法求数组的最值
|
搜索推荐 C语言
快排函数 -- qsort函数(Quick Sort)
快排函数 -- qsort函数(Quick Sort)
156 0
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置
70 2
每日三题-寻找两个正序数组的中位数 、搜索旋转排序数组、 在排序数组中查找元素的第一个和最后一个位置