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

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

动态规划中,经常需要找到一个线性表中最大的元素,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.kler.cn/a/385048.html

相关文章:

  • WPF中如何简单的使用MvvmLight创建一个项目并进行 增删改查
  • 在JS中, 0 == [0] 吗
  • 计算机网络——TCP篇
  • Streamlit 入门使用指南及与 FastAPI 的配合使用
  • qt QHeaderView详解
  • 【LeetCode】【算法】647. 回文子串
  • 【HarmonyOS】键盘遮挡输入框UI布局处理
  • Flux comfyui 部署笔记,整合包下载
  • MySQL常用的关键字(详细)
  • MATLAB 在数组的元素后面使用百分号 `%` 添加注释时会将其误认为是行分隔符,导致数组维度不一致
  • LangChain实战分享
  • 【Linux】进程信号全攻略(二)
  • 什么是 AWS PrivateLink
  • 深入理解Python设计模式:工厂模式实践与应用
  • SpringCloud Sentinel 服务治理详解
  • 群控系统服务端开发模式-应用开发-系统配置开发
  • netstat中sendq/recvq用于排查发送端发送数据的问题
  • js中怎么把excel和pdf文件转换成图片打包下载
  • 云上拼团GO指南——腾讯云博客部署案例,双11欢乐GO
  • 推导将点映射到平面坐标系的计算公式
  • 金媒婚恋相亲系统10.4择爱开源旗舰版支持微信小程和抖音小程序上架
  • 鸿蒙系统与python
  • 【WebRTC】视频采集模块流程的简单分析
  • 收集的linux命令/Docker命令/git命令
  • 第2章-立项2.5立项的三重境界
  • 【数据集】【YOLO】【目标检测】道路结冰数据集 1527 张,YOLO目标检测实战训练教程!