C++中,如何找到一个vector中最大的元素

news/2024/11/6 21:10:39/

动态规划中,经常需要找到一个线性表中最大的元素,C++ 最常用的是vector,而不是 C 中的数组,虽然结构更加复杂,但是用起来更方便。就连 C++ 创始人 Bjarne Stroustrup 都推荐使用vector,如下是《A Tour of C++ Third Edition》中的内容,并且也强调不用担心效率问题:
请添加图片描述

C++ 算法库中有相应的找到最大值的算法。所以第一步导入库:

#include <algorithm>

相应算法是max_element:获取最大的元素,但是返回值是一个迭代器。 使用方法如下:

int main() {//测试数组std::vector<int> nums = {2,7,9,3,1};//存放最大值的迭代器std::vector<int>::iterator maxNum = max_element(nums.begin(),nums.end());//输出最大值cout << *maxNum << endl;return 0;
}

需要注意还有个叫max的函数,那个是找两个元素里较大的一个的,不是找数组里的。

那么如何获取这个最大值的位置呢?这里需要使用distance函数:

int main() {//测试数组std::vector<int> nums = {2,7,9,3,1};//存放最大值的迭代器std::vector<int>::iterator maxNum = max_element(nums.begin(),nums.end());//通过distance得到最大值和第一个元素之间的距离,得到最大值的下标cout << distance(nums.begin(), maxNum) << endl;return 0;
}

希望能帮到有需要的人~


http://www.ppmy.cn/news/1544880.html

相关文章

什么是分布式光伏发电?设备构成、应用形式讲解

分布式光伏发电系统&#xff0c;又称分散式发电或分布式供能&#xff0c;是指在用户现场或靠近用电现场配置较小的光伏发电供电系统&#xff0c;以满足特定用户的需求&#xff0c;支持现存配电网的经济运行&#xff0c;或者同时满足这两个方面的要求。 分布式光伏发电由哪些设备…

python-21-理解python切片这一概念

python-21-理解python切片这一概念 一.简介 在python基础系列还有一个概念&#xff0c;python切片&#xff0c;切片这一使用频率特别多&#xff0c;大量python实例、真实项目中也是频繁出现&#xff0c;所以把这一概念单独整理出来&#xff0c;以便大家学习和复习&#xff01…

golang 中map使用的一些坑

golang 中map使用的一些坑 1、使用map[string]interface{}&#xff0c;类型断言[]int失败 接收下游的数据是用json转为map[string]any go a : "{\"a\":\"1\",\"b\":[123]}" var marshal map[string]any json.Unmarshal([]byte(a), &…

Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)

案例背景 虽然在效果上&#xff0c;传统的逻辑回归模型通常不如现代的机器学习模型&#xff0c;但在风控领域&#xff0c;解释性至关重要。逻辑回归的解释性是这些“黑箱”模型所无法比拟的&#xff0c;因此&#xff0c;研究传统的评分卡模型依然是有意义的。 传统的评分卡模型…

uni-app 封装图表功能

文章目录 需求分析1. 秋云 uchars2. Echarts 需求 在 uni-app 中使用图表功能&#xff0c;两种推荐的图表工具 分析 在 Dcloud市场 搜索Echarts关键词&#xff0c;会出现几款图表工具&#xff0c;通过大家的下载量&#xff0c;可以看到秋云这个库是比较受欢迎的&#xff0c;其…

el-tree展开子节点后宽度没有撑开,溢出内容隐藏了,不显示横向滚动条

html结构如下 <div class"tree-div"><el-tree><template #default"{ node, data }"><div class"node-item">...</div></template></el-tree></div> css代码(scss) .tree-div {width: 300px;…

Netty原来就是这样啊(二)

前言: Netty其实最大的特点就是在于对于对NIO进行了进一步的封装,除此以外Netty的特点就是在于其的高性能 高可用性,下面就会一一进行说明。 高性能: 我在Netty原来就是这样啊(一)-CSDN博客 解释了其中的零拷贝的技术除此以外还有Reactor线程模型,这个Reactor线程模型的思想…

【SpringCloud知识】springcloud生态rpc组件openfeign详细介绍

文章目录 概述1. 什么是 OpenFeign&#xff1f;2. OpenFeign 的核心功能3. 如何包含 OpenFeign4. 如何启用 OpenFeign5. OpenFeign 的使用6. OpenFeign 的属性解析模式7. OpenFeign 的支持和集成8. OpenFeign 的日志打印和配置9. OpenFeign 的安全性支持 底层实现原理1. 核心组…