STL(Standard Template Library)是C++标准库的一部分,提供了大量的通用模板类和函数,用于实现各种常用的数据结构和算法。STL中的算法部分提供了许多常用的算法,如查找、排序、遍历等,可以方便地对容器进行操作。
STL算法库包含在
#include <algorithm>
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = std::find(vec.begin(), vec.end(), 3);
if (it != vec.end()) {
std::cout << "找到了元素:" << *it << std::endl;
} else {
std::cout << "未找到元素" << std::endl;
}
#include <algorithm>
std::vector<int> vec = {1, 2, 2, 3, 4};
int num = std::count(vec.begin(), vec.end(), 2);
std::cout << "值为2的元素出现次数为:" << num << std::endl;
#include <algorithm>
std::vector<int> vec = {5, 2, 7, 1, 9};
std::sort(vec.begin(), vec.end());
for (int num : vec) {
std::cout << num << " ";
}
#include <algorithm>
std::vector<int> vec = {5, 2, 7, 1, 9};
std::stable_sort(vec.begin(), vec.end());
for (int num : vec) {
std::cout << num << " ";
}
#include <algorithm>
std::vector<int> vec = {1, 2, 3, 4, 5};
std::for_each(vec.begin(), vec.end(), [](int num) {
std::cout << num << " ";
});
#include <algorithm>
std::vector<int> vec = {1, 2, 3, 4, 5};
std::vector<int> newVec;
std::transform(vec.begin(), vec.end(), std::back_inserter(newVec), [](int num) {
return num * 2;
});
for (int num : newVec) {
std::cout << num << " ";
}
以上是一些常用的STL算法的用法,STL算法库中还包含许多其他有用的算法,可以根据需要查阅相关文档进行学习和使用。