当前位置:首页 > > STL求数组最值

STL求数组最值

时间:2026-10-03 14:00:35

STL提供了便捷的函数,可直接获取数组中的最大值与最小值,下文将具体介绍其用法。

在Visual Studio 2013中新建一个基于Boost.Test的控制台应用程序项目,具体设置所示。

在BoostTest.cpp文件中输入如下代码:

/*

利用STL算法获取数组中的最大值与最小值

*/

{

定义数组

可以利用标准库中的 `std::max_element` 函数来获取容器中最大元素的迭代器,例如:`auto max = std::max_element(arr.begin, arr.end);`。此函数返回指向最大值位置的迭代器,适用于支持随机访问的序列容器,如 `vector`。

程序输出数组中的最大值及其在数组中的索引位置,格式为:数组最大值是:X,位置是Y,其中X代表找到的最大元素值,Y表示该元素从数组起始位置开始计算的偏移量(即下标)。

输出值必含星号,*max 表示对 max 进行解引用操作。

数组中的最小值为:`*min`,其在数组中的索引位置为`std::distance(std::begin(arr), min)`。该语句通过标准输出流将最小值及其对应下标一并打印到控制台,便于直观查看结果。

}

{

}

程序编译运行后,结果所示。

若数组中存在两个相同的最大值或最小值,程序将如何输出?我们通过将数组a修改为新值来测试这一情况。

程序输出结果为首个最大值与最小值。

运行结果所示

猜你喜欢