使用STL的vector时,利用函数max_element
、min_element
、distance
可以获取vector中最大值、最小值和对应的位置索引,方法如下:
#include <vector>
#include <algorithm>
#include <iostream>
int main(){
std::vector<double> vec{1.0, 2.0, 3.0, 4.0, 5.0};
std::vector<double>::iterator biggest = std::max_element(vec.begin(), vec.end()); //iterator
std::cout << "Max element is " << *biggest << " at position " << std::distance(vec.begin(), biggest) << std::endl;
std::vector<double>::iterator smallest = std::min_element(vec.begin(), vec.end());
std::cout << "Min element is " << *smallest << " at position " << std::distance(vec.begin(), smallest) << std::endl;
}