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

重庆专业网站建设公司响应式框架

重庆专业网站建设公司,响应式框架,网站为什么要seo?,深圳保障房申请条件2022在 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/582278.html

相关文章:

  • day10(11.7)——leetcode面试经典150
  • 特定网站开发个人主页网站设计
  • flink 1.20 物化表(Materialized Tables)
  • html网站建设流程图只做一页的网站多少钱
  • 百度上能收到的企业名称网站怎么做wordpress theme api
  • asp.net网站开发案例教程做图片模板
  • 大庆门户网站做外贸接私单的网站
  • 企业项目级医院随访系统源码,患者随访管理系统,技术框架:Java+Spring boot,Vue,Ant-Design+MySQL5
  • 上蔡网站建设WordPress导出静态网页
  • 成都网站制作怎么样设计企业网站内容
  • 互联网做网站地推WordPress全局屏蔽谷歌
  • RV1126 NO.40:OPENCV图形计算面积、弧长API讲解
  • 威海网站建设哪家好哪有个人免费云服务器
  • 【Redis】02 基本数据类型
  • Rust内存问题检测
  • 娄底市网站建设课程资源网站开发
  • 写 CSDN 文章的体会
  • Vibe Coding - 免费使用claude code 、gpt-5、grok-code-fast-1进行氛围编程
  • 【NOI】C++一维数组之数组计数法
  • flash xml网站wordpress 表单数据
  • 事业单位建立网站wordpress后台慢
  • 轴控功能块常用调用方法
  • 常用的电气元件详细介绍-11.7(1.5hour)
  • 【ZeroRange WebRTC 】STUN 在 WebRTC 中的角色与工作原理(深入指南)
  • 网站备案后需要年检吗系统更新
  • 怎么做收费网站宣传片制作公司排行
  • [Linux]学习笔记系列 -- [kernel]completion
  • 如何创建一个自己的Docker镜像(Dockerfile)
  • 从一个问题深入解析C++字符串处理中的栈损坏
  • 成都市做网站的公司建设网站的心得