algorithm怎么用
时间: 2023-12-11 10:32:20 浏览: 82
algorithm是C++ STL(标准模板库)中的一个头文件,提供了许多有用的算法和函数模板,可以用于处理各种数据结构。以下是algorithm的一些常用函数和用法:
1. sort()函数:对数组或容器进行排序
```cpp
#include <algorithm>
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
std::sort(vec.begin(), vec.end()); // 对vec进行排序
for (auto i : vec) {
std::cout << i << " "; // 输出:1 1 2 3 3 4 5 5 5 6 9
}
return 0;
}
```
2. find()函数:在数组或容器中查找指定元素
```cpp
#include <algorithm>
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
auto it = std::find(vec.begin(), vec.end(), 4); // 在vec中查找4
if (it != vec.end()) {
std::cout << "Found " << *it << " at position " << it - vec.begin() << std::endl; // 输出:Found 4 at position 2
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
```
3. accumulate()函数:对数组或容器中的元素进行累加
```cpp
#include <algorithm>
#include <numeric>
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
int sum = std::accumulate(vec.begin(), vec.end(), 0); // 对vec中的元素进行累加
std::cout << "Sum of vec is " << sum << std::endl; // 输出:Sum of vec is 44
return 0;
}
```
阅读全文