📅  最后修改于: 2023-12-03 14:59:50.794000             🧑  作者: Mango
在C++中,标准库STL(Standard Template Library)提供了许多便捷的算法函数,其中之一便是std::min_element。这个函数用于寻找一个集合(eg:数组,向量等)中的最小元素,并返回该元素的迭代器。
std::min_element函数的用法如下所示:
template< class ForwardIt >
ForwardIt min_element( ForwardIt first, ForwardIt last );
其中,first和last参数指定了一个范围。std::min_element函数在该范围内查找最小元素,并返回指向该元素的迭代器。需要注意的是,这个函数使用迭代器范围为开区间(即不包括最后一个元素),即[first, last)。
如果集合为空,则返回last。
接下来,我们来看一个使用std::min_element函数的示例。以下代码用于从一个数组中找到最小值并且输出它的值和其位置:
#include <iostream>
#include <algorithm>
int main() {
int arr[] = { 5, 2, 1, 4, 3 };
int* min_pos = std::min_element(arr, arr + 5);
std::cout << "最小值为 " << *min_pos << ",位置为 " << (min_pos - arr) << std::endl;
return 0;
}
输出为:
最小值为 1,位置为 2
std::min_element是一个很实用的函数,可以方便地找到一个集合中的最小元素。但需要注意的是,如果集合为空,函数将直接返回last,因此要注意判断。
参考资料: