📜  C++中的std :: min_element(1)

📅  最后修改于: 2023-12-03 14:59:50.794000             🧑  作者: Mango

C++中的std::min_element

在C++中,标准库STL(Standard Template Library)提供了许多便捷的算法函数,其中之一便是std::min_element。这个函数用于寻找一个集合(eg:数组,向量等)中的最小元素,并返回该元素的迭代器。

语法

std::min_element函数的用法如下所示:

template< class ForwardIt >
ForwardIt min_element( ForwardIt first, ForwardIt last );

其中,firstlast参数指定了一个范围。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,因此要注意判断。

参考资料:

  1. std::min_element - cppreference.com