[英]Finding minimum element in array using STL in C++
為什么 output 是 50 應該是 20。
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int v[] = {10, 20, 30, 50, 20, 70, 30};
int* i1;
i1 = std::min_element(v + 3, v + 4);
cout << *i1 << "\n";
return 0;
}
STL 算法在半開范圍內運行,通常表示為[first, last)
。 這意味着第first
元素包含在范圍內, last
元素不包含。 因此
[v + 3, v + 4)
指定長度為 1 的范圍,並且該范圍內的唯一元素的值為50
。 *std::min_element(v + 3, v + 4)
的結果只能是50
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.