vector<int> data = { 1, 3, 2, 4 };
1、升序、降序
sort(data.begin(), data.end()); //升
sort(v.begin(), v.end(), less<int>()); //升
sort(v.begin(), v.end(), greater<int>()); //降
bool upsort(const int &a, const int &b)
{
return a < b;
}
sort(data.begin(), data.end(), upsort); //升序
bool downsort(const int &a, const int &b)
{
return a > b;
}
sort(data.begin(), data.end(), downsort); //降序
2、最大值、最小值
auto data_max = data.max_element(data.begin(), data.end()); //返回的是迭代器
auto data_min = data.min_element(data.begin(), data.end());
3、求和 #include <numeric>
int sum = accumulate(data.begin(), data.end(), 0);
int sum = accumulate(data.begin(), data.end(), (int)0);
double sum = accumulate(data.begin(), data.end(), 0.0); //应避免精度损失
double sum = accumulate(data.begin(), data.end(), (double)0);
4、查找
auto it = find(data.begin(), data.end(), val); //返回迭代器