索引是Vector中最大和最小值的索引

时间:2016-10-02 22:21:41

标签: c++ vector

如果以下代码返回向量中最小值的索引:

std::min_element(prices.begin(), prices.end()) - prices.begin();

那么为什么这段代码不会返回向量中最大值的索引?

std::max_element(prices.begin(), prices.end()) - prices.begin();

编辑:示例矢量。

vector<int> prices{30, 20, 18, 15, 50}

感谢。

1 个答案:

答案 0 :(得分:0)

代码工作正常并且符合预期。 第一个元素的索引为零

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

using namespace std;

int main()
{
    vector<int> prices{30, 20, 18, 15, 50};
    int min_index = std::min_element(prices.begin(), prices.end()) - prices.begin();
    int max_index = std::max_element(prices.begin(), prices.end()) - prices.begin();
    std::cout<<"Minimum position: "<<min_index+1<<endl;
    std::cout<<"Minimum position: "<<max_index+1<<endl;
}

在 输出: 最低职位:4

最低职位:5