C++系列-STL容器中算法中的最大最小

news/2024/9/28 1:13:18 标签: c++, 算法, 开发语言

STL容器中算法中的最大最小

  • 最大最小相关算法
  • 最大最小相关示例

最大最小相关算法

算法名称描述
max(a, b)返回两个元素中较大的一个,return _Left < _Right ? _Right : _Left;
max(a, b, pred)使用谓词作大小比较,return _Pred(_Left, _Right) ? _Right : _Left;
max_element(beg,end)返回迭代器,指向[beg, end)中最大的元素,默认是max_element(_First, _Last, less<>{})
max_element(beg,end, pred)使用谓词作为判断条件,返回迭代器
min(a, b)返回两个元素中较小的一个,return _Right < _Left ? _Right : _Left;
min(a, b, pred)使用谓词作大小比较,return _Pred(_Right, _Left) ? _Right : _Left;
min_element(beg,end)返回迭代器,指向[beg, end)中最小的元素,默认是return _STD min_element(_First, _Last, less<>{});
min_element(beg,end, pred)使用谓词作为判断条件,返回迭代器

最大最小相关示例

code:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;


void test01()
{
	int array1[6] = { 22, 44, 31, 6, 25, -70};
	for (int i_loop = 0; i_loop < sizeof(array1) / sizeof(array1[0]); i_loop++)
		cout << array1[i_loop] << " ";
	cout << "array1中最大的数是: " << * (max_element(array1, array1 + 6)) << endl;
	cout << "array1中最小的数是: " << * (min_element(array1, array1 + 6)) << endl;
	cout << "array1中绝对值最大的数是: " << *(max_element(array1, array1 + 6, [](int a, int b) -> bool {return abs(a) < abs(b);})) << endl;
	cout << endl;
}

void test02()
{
	int a = 5;
	int b = 10;
	cout << "更大的数是: " << max(a, b) << endl;
	cout << "更小的数是: " << min(a, b) << endl;
	cout << "第一个数加6和第二个数比较,更大的是: " << max(a, b, [](int a, int b) -> bool {return a + 6 < b;}) << endl;
}

void main()
{
	test01();
	test02();
	system("pause");
}

result:
22 44 31 6 25 -70 array1中最大的数是: 44
array1中最小的数是: -70
array1中绝对值最大的数是: -70

更大的数是: 10
更小的数是: 5
第一个数加6和第二个数比较,更大的是: 5
请按任意键继续. . .

http://www.niftyadmin.cn/n/5680006.html

相关文章

为广大星商赋能,长沙还真是下足了功夫

随着城市竞争加剧&#xff0c;城市之间不仅要比拼上市公司数量&#xff0c;还要比拼初创企业的质量。建立更科学、有效的企业培育机制&#xff0c;真正给予企业发展所需要的帮助&#xff0c;将成为一座城市吸引年轻人和创业者的强大竞争力。 前段时间&#xff0c;笔者在与朋友…

信息学奥赛的最佳启蒙阶段是小学还是初中?

信息学奥赛&#xff08;NOI&#xff09;近年来越来越受家长和学生的关注&#xff0c;尤其是在编程教育不断升温的背景下&#xff0c;信息学竞赛成为了许多家庭的教育选择之一。家长们往往关心的是&#xff1a;孩子应该在什么年龄段开始接触信息学竞赛&#xff0c;才能打下坚实的…

数据结构基础之《(4)—异或运算》

一、认识异或运算 1、异或运算 相同为0&#xff0c;不同为1 2、同或运算 相同为1&#xff0c;不同为0 3、异或记成无进位相加&#xff01; 二、例子 1、6 ^ 7 ? 解答&#xff1a;110 ^ 111 001 三、异或运算的性质 1、0 ^ N N 2、N ^ N 0 3、异或运算满足交换律和结…

如何创建AWS云账号

引言 Amazon Web Services (AWS) 是全球领先的云计算平台&#xff0c;提供广泛的云服务&#xff0c;包括计算、存储、数据库、分析、机器学习等。要开始使用AWS&#xff0c;首先需要创建一个AWS账号。本文中九河云将详细介绍如何创建AWS云账号&#xff0c;并提供一些最佳实践和…

树上前缀和详解

零、前言 关于前缀和&#xff1a; 前缀和详解&#xff0c;朴素前缀和&#xff0c;前缀和变形&#xff0c;二维前缀和_前缀积-CSDN博客 关于LCA&#xff1a; LCA算法-倍增算法_lca倍增算法-CSDN博客 LCA算法-Tarjan算法_lca数组-CSDN博客 树链剖分——重链剖分&#xff0c…

同声传译用什么软件最方便?推荐五款易用的同声传译软件

在国际贸易、国际会议及跨国合作项目中&#xff0c;语言障碍往往是沟通效率的一大挑战。 为了解决这个问题&#xff0c;同声传译免费软件应运而生&#xff0c;它们通过先进的技术实现了即时准确的语言转换&#xff0c;极大地促进了不同语言使用者间的交流与协作。 下面&#…

搜维尔科技:使用Xsens动作捕捉系统和ai训练人形机器人模仿人类运动,执行复杂任务

人形机器人市场正在快速扩张:人形机器人市场将在未来大幅增长&#xff0c;据统计数据推算该市场将从2023年的13.2亿美元增长到2035年的约380亿美元&#xff0c;这显示出人形机器人市场强劲的增长趋势。 搜维尔科技&#xff1a;使用Xsens动作捕捉系统和ai训练人形机器人模仿人类…

5--苍穹外卖-SpringBoot项目中菜品管理 详解(一)

目录 公共字段自动填充 问题分析 实现思路 代码开发 步骤一 步骤二 功能测试 新增菜品 需求分析和设计 代码开发 文件上传接口 功能测试 1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解-CSDN博客 2--苍穹外卖-SpringBoot项目中员工管理 详解&#xff08;一&#…