当前位置: 首页 > news >正文

成都网站建设专家互联网定制产品网站

成都网站建设专家,互联网定制产品网站,阿里主机 wordpress,金华规划局网站开发区在 C STL中&#xff0c;min_element 和 max_element 是两个非常实用的算法函数&#xff0c;用于快速找到容器或范围内的最小值和最大值&#xff0c;这里以min为例。 头文件&#xff1a;<algorithm> 语法&#xff1a; template <class ForwardIterator> ForwardIt…

在 C++ STL中,min_elementmax_element 是两个非常实用的算法函数,用于快速找到容器或范围内的最小值和最大值,这里以min为例。

头文件<algorithm>
语法

template <class ForwardIterator>
ForwardIterator min_element(ForwardIterator first, ForwardIterator last);template <class ForwardIterator, class Compare>
ForwardIterator min_element(ForwardIterator first, ForwardIterator last, Compare comp);

参数

  • firstlast:定义要搜索的范围 [first, last)
  • comp(可选):自定义比较函数,用于指定排序规则。

时间复杂度为 O ( n ) O(n) O(n),其中 n n n 是范围 [first, last) 中的元素数量。空间复杂度为 O ( 1 ) O(1) O(1),因为只使用常量级别的额外空间。


基本用法

如何使用 min_elementmax_element 找到数组中的最小值和最大值。

#include <iostream>
#include <vector>
#include <algorithm> using namespace std;int main() {vector<int> nums = {4, 2, 9, 1, 7, 3};auto min_it = min_element(nums.begin(), nums.end());auto max_it = max_element(nums.begin(), nums.end());if (min_it != nums.end()) {cout << "Min: " << *min_it << endl;}if (max_it != nums.end()) {cout << "Max: " << *max_it << endl;}return 0;
}
Min: 1
Max: 9

自定义比较函数

按绝对值大小来寻找最小值。

#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath> using namespace std;int main() {vector<int> nums = {-4, 2, -9, 1, 7, -3};auto min_it = min_element(nums.begin(), nums.end(), [](int a, int b) {return abs(a) < abs(b);});if (min_it != nums.end()) {cout << "Min value by absolute value: " << *min_it << endl;}return 0;
}
Min value by absolute value: 1

同时查找最小值和最大值

如果需要同时查找最小值和最大值,可以结合 minmax_element 使用(这是 min_elementmax_element 的扩展版本)。

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main() {vector<int> nums = {4, 2, 9, 1, 7, 3};auto [min_it, max_it] = minmax_element(nums.begin(), nums.end());if (min_it != nums.end() && max_it != nums.end()) {cout << "Minimum value: " << *min_it << endl;cout << "Maximum value: " << *max_it << endl;}return 0;
}

输出

Minimum value: 1
Maximum value: 9

容器为空的情况

如果范围 [first, last) 为空,则 min_elementmax_element 返回 last。因此,在使用返回值之前,应检查容器是否为空。

if (!nums.empty()) {auto min_it = min_element(nums.begin(), nums.end());cout << "Min: " << *min_it << endl;
}

自定义cmp

自定义比较函数必须满足严格弱序(strict weak ordering)。简单来说,如果 cmp(a, b) 为真,则 a 应小于 b。如果 cmp(a, b)cmp(b, a) 都为假,则 ab 相等。

http://www.dtcms.com/a/559548.html

相关文章:

  • 中国制造网官方网站下载安装微商引流一般用什么软件
  • 怎么自己制作网站链接手机网站建设优化软件
  • 可信网站认证收费吗网页版微信小程序页面入口
  • 他达拉非和西地那非的区别长春网站优化页面
  • 大型网站开发用的技术404 not found wordpress
  • 网站网上商城建设做网站以前出名的公司
  • 网站前台功能介绍网站开发的检索速度在啥范围之内
  • 自己可以做类似拓者的网站吗wordpress query
  • 深圳企业做网站公flash网站轮播广告怎么做
  • 九江 网站建站 设计 公司网站 颜色标准
  • 群晖建站教程wordpress无法新建页面
  • 网站建设连接wordpress 增加内存
  • 电商网站开发代码代理注册企业邮箱
  • 宗亲网站开发为止笔记发布到wordpress
  • 网站维护一般多久wordpress图片小程序
  • 高质量的高密网站建设网络营销方式分析
  • 网站建设毕业实践设计报告动漫设计与游戏制作专业
  • 优设设计师网站现在学软件前景怎么样
  • 百度上做网站推广app平台开发
  • 枣庄做网站建设找哪家手机网站建设方案
  • 笔试强训_day01_C++
  • 股票配资网站开发wordpress file not found
  • 如何采集网站文章台式机网站建设
  • wordpress jiu长沙网站优化方法
  • 网站开发课程建议wordpress 两个网站
  • 佛山行业网站设计北京网站优化 卓立海创
  • 吉林企业做网站提供石家庄网站推广
  • 营销型网站建设实训总结八师石河子精神文明建设网站
  • app网络推广公司石家庄谷歌seo
  • 重庆在线开放平台2021百度新算法优化