1、排序 :std::sort
cpp
#include <algorithm>
#include <vector>
std::vector<int> v = {4, 2, 5, 3, 1};
std::sort(v.begin(), v.end()); // 将v中的元素按升序排序
2、查找: std::find
cpp
#include <algorithm>
#include <vector>
std::vector<int> v = {1, 2, 3, 4, 5};
auto it = std::find(v.begin(), v.end(), 3); // 查找元素3
if (it != v.end()) {
// 找到元素
}
3、计数: std::count
cpp
#include <algorithm>
#include <vector>
std::vector<int> v = {1, 2, 3, 3, 4, 5};
int countNum = std::count(v.begin(), v.end(), 3); // 计数元素3的个数
4、归约: std::accumulate
cpp
#include <algorithm>
#include <numeric>
#include <vector>
std::vector<int> v = {1, 2, 3, 4, 5};
int sum = std::accumulate(v.begin(), v.end(), 0); // 计算元素总和
5、填充: std::fill
cpp
#include <algorithm>
#include <vector>
std::vector<int> v(5);
std::fill(v.begin(), v.end(), 10); // 用10填充v中的所有元素
6、复制:std::copy
cpp
#include <algorithm>
#include <numeric>
#include <vector>
std::vector<int> nums = {4, 2, 5, 3, 8, 9, 6};
std::vector<int> nums_copy(nums.size());
std::copy(nums.begin(), nums.end(), nums_copy.begin());
7、合并:std::merge
cpp
#include <algorithm>
#include <numeric>
#include <vector>
// 分割和合并
std::vector<int> even, odd;
for (int num : nums) {
if (num % 2 == 0) {
even.push_back(num);
} else {
odd.push_back(num);
}
}
// 分割完成,合并结果
std::vector<int> result;
std::merge(even.begin(), even.end(), odd.begin(), odd.end(), std::back_inserter(result));