1.std::sort()
- 作用:对容器中的元素进行排序。
使用示例:
std::vector<int> nums = {3, 1, 4, 2, 5};
std::sort(nums.begin(), nums.end());
注意事项:默认按照升序排序。可以使用自定义的比较函数来实现特定的排序方式。
适用容器:
适用于std::vector、std::array、std::deque等可随机访问容器。
2.std::max()
- 作用:返回两个值中的较大值。
使用示例:
int a = 3;
int b = 5;
int maxVal = std::max(a, b);
适用容器:
适用于任何支持比较操作的容器类型。
3.std::min()
- 作用:返回两个值中的较小值。
使用示例:
int a = 3;
int b = 5;
int minVal = std::min(a, b);
适用容器:
适用于任何支持比较操作的容器类型。
4.std::reverse()
- 作用:反转容器中的元素顺序。
使用示例:
std::vector<int> nums = {1, 2, 3, 4, 5};
std::reverse(nums.begin(), nums.end());
适用容器:
适用于std::vector、std::deque等双向迭代器容器。
5.std::count()
- 作用:计算指定值在容器中出现的次数。
使用示例:
std::vector<int> nums = {1, 2, 2, 3, 2, 4, 2};
int count = std::count(nums.begin(), nums.end(), 2);
适用容器:
适用于任何支持遍历的容器类型。
6.std::find()
- 作用:在容器中查找指定值的位置。
使用示例:
std::vector<int> nums = {1, 2, 3, 4, 5};
auto it = std::find(nums.begin(), nums.end(), 3);
if (it != nums.end()) {
// 找到了指定值
}
适用容器:
适用于任何支持遍历的容器类型。
7.std::binary_search()
作用:在已排序的容器中执行二分查找。
使用示例:
std::vector<int> nums = {1, 2, 3, 4, 5};
bool found = std::binary_search(nums.begin(), nums.end(), 3);
适用容器:
适用于已排序的可随机访问容器,如std::vector、std::array等。
8.std::accumulate()
- 作用:计算容器中元素的总和。
使用示例:
std::vector<int> nums = {1, 2, 3, 4, 5};
int sum = std::accumulate(nums.begin(), nums.end(), 0);
适用容器:
适用于任何支持遍历的容器类型。
9.std::transform()
- 作用:对容器中的元素进行转换操作,并将结果存储到另一个容器中。
使用示例:
std::vector<int> nums = {1, 2, 3, 4, 5};
std::vector<int> squared;
std::transform(nums.begin(), nums.end(), std::back_inserter(squared), [](int x) { return x * x; });
适用容器:
适用于任何支持遍历的容器类型,并且结果需要存储在另一个容器中。
10.std::copy()
- 作用:将一个容器的元素复制到另一个容器中。
使用示例:
std::vector<int> nums = {1, 2, 3, 4, 5};
std::vector<int> copied(nums.size());
std::copy(nums.begin(), nums.end(), copied.begin());
适用容器:
适用于任何支持遍历的容器类型,将元素复制到另一个容器中。
11.std::unique()
- 作用:移除容器中的重复元素,并返回指向新的尾部的迭代器。
使用示例:
std::vector<int> nums = {1, 2, 2, 3, 3, 4, 4, 5};
auto it = std::unique(nums.begin(), nums.end());
nums.erase(it, nums.end()); // 移除重复元素
适用容器:
适用于支持连续内存的容器类型,如std::vector、std::string等。
12.std::min_element()
- 作用:找到容器中的最小元素,并返回指向它的迭代器。
使用示例:
std::vector<int> nums = {5, 2, 8, 1, 6};
auto minIt = std::min_element(nums.begin(), nums.end());
int minValue = *minIt; // 获取最小值
适用容器:
适用于任何支持遍历的容器类型。
13.std::max_element()
- 作用:找到容器中的最大元素,并返回指向它的迭代器。
使用示例:
std::vector<int> nums = {5, 2, 8, 1, 6};
auto maxIt = std::max_element(nums.begin(), nums.end());
int maxValue = *maxIt; // 获取最大值
适用容器:
适用于任何支持遍历的容器类型。
14.std::find_if()
- 作用:在容器中查找满足指定条件的元素,并返回指向它的迭代器。
使用示例:
std::vector<int> nums = {1, 2, 3, 4, 5};
auto it = std::find_if(nums.begin(), nums.end(), [](int x) { return x % 2 == 0; });
if (it != nums.end()) {
// 找到了满足条件的元素
}
适用容器:
适用于任何支持遍历的容器类型。
15.std::replace()
- 作用:将容器中所有等于某个值的元素替换为另一个值。
使用示例:
std::vector<int> nums = {1, 2, 2, 3, 2, 4, 2};
std::replace(nums.begin(), nums.end(), 2, 0); // 将所有的2替换为0
适用容器:
适用于支持连续内存的容器类型,如std::vector、std::string等。
16.std::partition()
- 作用:根据指定条件重新排列容器中的元素,使得满足条件的元素位于前部分,不满足条件的元素位于后部分,并返回分割点的迭代器。
使用示例:
std::vector<int> nums = {3, 1, 4, 2, 5};
auto partitionPoint = std::partition(nums.begin(), nums.end(), [](int x) { return x % 2 == 0; }); // 分割奇偶数
适用容器:
适用于双向迭代器容器,如std::vector、std::deque等。
17.std::random_shuffle()
- 作用:随机重排容器中的元素顺序。
使用示例:
std::vector<int> nums = {1, 2, 3, 4, 5};
std::random_shuffle(nums.begin(), nums.end()); // 随机重排元素顺序
适用容器:
适用于支持随机访问的容器类型,如std::vector、std::array等。