C++-vector:vector最值【*max_element(v.begin(), v.end())】【下标:max_element(v.begin(),v.end()) - v.begin()】

本文介绍了如何使用C++的vector容器和min_element、max_element函数快速找到整数数组的最大值和最小值,同时保持数组元素顺序不变,并给出了对应下标的计算方法。实例演示了如何在代码中实现这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我们有一个vector<int>数组vec时,我们只需要获取它的最大值,而又不想打乱它的顺序

一、求数组的最大值或最小值

1、vector容器

例 vector<int> vec

  • 最大值:
    • int maxValue = *max_element(v.begin(),v.end()); 
  • 最小值:
    • int minValue = *min_element(v.begin(),v.end());

2、普通数组

例 a[]={1,2,3,4,5,6};

  • 最大值:
    • int maxValue = *max_element(a,a+6); 
  • 最小值:
    • int minValue = *min_element(a,a+6);

二、求数组最大值最小值对应的下标

1、vector容器

例 vector<int> vec

  • 最大值下标:
    • int maxPosition = max_element(v.begin(),v.end()) - v.begin(); 
  • 最小值下标:
    • int minPosition = min_element(v.begin(),v.end()) - v.begin();

2、普通数组

例 a[]={1,2,3,4,5,6};

  • 最大值下标:
    • int maxPosition = max_element(a,a+6) - a; 
  • 最小值下标:
    • int minPosition = min_element(a,a+6) - a;

注意:返回的是第一个最大(小)元素的位置。

#include <iostream>
#include <vector>
#include <algorithm>

int main(){
    std::vector<int> a = { 2,4,6,7,1,0,8,9,6,3,2 };
    auto maxPosition = std::max_element(a.begin(), a.end());          // 最小值min_element
    std::cout << *maxPosition << " at the position of " << maxPosition - a.begin() << std::endl;
    return 0;
}

输出: 

9 at the position of 7

 

vector获取最值元素的方法_一只没有姓名的萌新~的博客-优快云博客_vector找最大元素

C++数组或vector求最大值最小值_SongEsther的博客-优快云博客_c++ vector最大值 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值