count
①.头文件
count 算法定义在头文件 #include 中。
②.算法作用
count 算法是使用 == 操作符统计指定范围内和指定元素值相等的元素的个数。
③.代码示例
vector<int> vec = { 1,2,3,4,5,6,7,8,9 };
cout <<"vec 中 5 的个数:"<< count(vec.begin(), vec.end(), 5) << endl;
count_if
①.头文件
count_if 算法定义在头文件 #include 中。
②.算法作用
count_if 算法是使用指定的比较函数,统计指定范围内满足添加的元素的个数。
③.代码示例
vector<int> vec = { 1,2,3,4,5,6,7,8,9 };
cout << "vec 中大于 4 的个数:" << count_if(vec.begin(), vec.end(), [&](int i) { return i > 4; }) << endl;
max_element
①.头文件
max_element 算法定义在头文件 #include 中。
②.算法作用
max_element 算法返回指定范围内最大值元素的迭代器。
③.代码示例
vector<int> vec = { 1,2,3,4,5,6,7,8,9 };
cout<<"vec 中最大值元素下标:"<< max_element(vec.begin(), vec.end()) - vec.begin() << endl;
min_element
①.头文件
min_element 算法定义在头文件 #include 中。
②.算法作用
min_element 算法返回指定范围内最小值元素的迭代器。
③.代码示例
vector<int> vec = { 1,2,3,4,5,6,7,8,9 };
cout<<"vec 中最小值元素下标:"<< min_element(vec.begin(), vec.end()) - vec.begin() << endl;
accumulate
①.头文件
accumulate 算法定义在头文件 #include 中。
②.算法作用
accumulate 算法计算指定范围到所有元素的和,传入第 3 个参数是计算到初始值。
③.代码示例
vector<int> vec = { 1,2,3,4,5,6,7,8,9 };
cout<<"vec 元素和:"<< accumulate(vec.begin(), vec.end(),0) << endl;
partial_sum
①.头文件
partial_sum 算法定义在头文件 #include 中。
②.算法作用
partial_sum 算法是生成一个新的序列,序列中每一项都是前一项的计算结果和当前项进行计算的结果,默认是加法运算,也可以自定义谓词。
③.代码示例
vector<int> vec = { 1,2,3,4,5,6,7,8,9 };
cout << "原序列:" << endl;
for_each(vec.begin(), vec.end(), [](int i) { cout << i << ","; });
vector<int> preVec;
partial_sum(vec.begin(), vec.end(), back_inserter(preVec));
cout << endl << "前缀和:" << endl;
for_each(preVec.begin(), preVec.end(), [](int i) { cout << i <<","; });
|