#include < algorithm >
时间: 2024-06-01 17:07:13 浏览: 89
my algorithm
"#include<algorithm>"是C++ STL库中的一个头文件,提供了许多算法。这个头文件为您提供了一种可以在容器上执行的各种操作,如在容器中查找元素、对容器中的元素进行排序等。以下是一些在<算法>头文件中定义的常用函数:
1. std::sort: 对容器内的元素进行排序,它需要两个迭代器作为参数,分别指向要排序的第一个元素和最后一个元素的下一个位置。
2. std::binary_search: 在容器内搜索一个元素,它还需要两个迭代器,分别指向容器内搜索的第一个元素和最后一个元素的下一个位置。
3. std::reverse: 翻转容器内的元素,它需要两个迭代器,分别指向要翻转的第一个元素和最后一个元素的下一个位置。
4. std::unique: 从容器中删除重复的元素,它需要两个迭代器,分别指向容器内的第一个元素和最后一个元素的下一个位置。
5. std::max_element: 返回容器中最大元素的迭代器,它需要两个迭代器,分别指向容器内的第一个元素和最后一个元素的下一个位置。
下面是一个简单的示例,展示了如何使用<algorithm>头文件中的一些函数来操作容器:
```c++
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
std::vector<int> v = {7, 3, 5, 1, 6, 4, 2};
std::sort(v.begin(), v.end()); // 排序
for (auto i : v) {
std::cout << i << " ";
}
std::cout << std::endl;
bool found = std::binary_search(v.begin(), v.end(), 3); // 查找
if (found) {
std::cout << "Found!" << std::endl;
} else {
std::cout << "Not found." << std::endl;
}
std::reverse(v.begin(), v.end()); // 翻转
for (auto i : v) {
std::cout << i << " ";
}
std::cout << std::endl;
auto last = std::unique(v.begin(), v.end()); // 去重
v.erase(last, v.end());
for (auto i : v) {
std::cout << i << " ";
}
std::cout << std::endl;
auto max = std::max_element(v.begin(), v.end()); // 最大值
std::cout << "Max value: " << *max << std::endl;
return 0;
}
```
阅读全文