vector 計算陣列中的最大值 最小值
阿新 • • 發佈:2019-01-26
使用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; }