可以实现划分、排序、二分法查找、最大最小值查找
以中位数为例:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
double median(vector<double> vec)
{
typedef std::vector<double>::size_type vec_sz;
vec_sz size = vec.size();
if (size == 0)
throw domain_error("median of an empty vector");
//使用sort排序
sort(vec.begin(), vec.end());
vec_sz mid = size / 2;
return size % 2 == 0 ? (vec[mid] + vec[mid - 1]) / 2 : vec[mid];
}