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

网站论坛建设方案400靓号手机网站建设

网站论坛建设方案,400靓号手机网站建设,网站租服务器,高端产品网站在 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/wzjs/614740.html

相关文章:

  • 长春火车站是哪个区深圳的网站建设
  • 企业官方网站建设教程wordpress安装主题后打不开
  • 网站源码怎么做网站discuz与wordpress会员
  • 上海专业网站建设市场做外贸产品上什么网站
  • 网站建设的规划四川城乡住房城乡建设厅网站首页
  • 用什么做网站开发长春网站公司
  • 婚庆公司网站设计seo计费系统
  • 写作网站招聘赞赏分享wordpress代码
  • 帝国cms 网站名称网站建设教程皆赞湖南岚鸿完成
  • 深圳网站建设 利科技有限公司营销型网站的优势
  • 做微网站是订阅号还是服务号号合肥建设学校官网网站
  • 网站怎么黑济南网站建设联系小七
  • 鲜花网站源码公司网站建设代码都写完了
  • 佛山网站制作平台嘉兴市建设局网站
  • 抖音推广公司深圳网站优化培训
  • 新浪网站是什么程序做的怎么设计自己logo
  • 做网站排名收益安陆网站
  • 在线建站|网页制作|网站建设平台艺术公司网站定制
  • 柳州网站建设价格查电商官网
  • 福田瑞沃售后服务电话湖南网站优化
  • 在网站建设中要注意的问题公司注册域名需要哪些条件
  • 苏州 网站建设 app网络推广方案范例
  • 白银市建设管理处网站如何维护公司网站
  • 涂鸦网站建设小蝌蚪xkdapp永久免费
  • 物流公司做网站怎样制作微信网站
  • 镇江网站优化哪家好北京做网站公司 seo
  • 网站优化策划方案销往国外的网店怎么开
  • 河池企业网站开发公司设计免费素材网站
  • 深圳手机网站定制开发vps免费
  • dw网页设计的一般步骤长沙官网网站推广优化