1. 程式人生 > >vector 計算陣列中的最大值 最小值

vector 計算陣列中的最大值 最小值

使用STL的Vector時,利用函式 max_element,min_element,distance可以獲取Vector中最大、最小值的值和位置索引:

#include <vector>  
#include <algorithm>  //vector成員函式標頭檔案,否則沒有max_element.....
#include <iostream>  
  
int main()  
{  
	double a[]= {1.0, 2.0, 3.0, 4.0, 5.0, 1.0, 2.0, 3.0, 4.0, 5.0};
	std::vector<double> arr(a,a+10);
  
	std::vector<double>::iterator max = std::max_element(std::begin(arr), std::end(arr)); 
//	vector<double>::iterator max=max_element(arr.begin(),arr.end());// 或者也可以這樣表示,計算max
    std::cout << "Max element is " << *max<< " at position " << std::distance(std::begin(arr), max) << std::endl;  
 //輸出值一定是帶*  輸出*max,表示解引用 
    auto min = std::min_element(std::begin(arr), std::end(arr));  
    std::cout << "min element is " << *min<< " at position " << std::distance(std::begin(arr), min) << std::endl;  
}