C++泛型算法代码典例
时间: 2023-11-14 17:46:22 浏览: 168
当然可以!以下是一个简单的C++泛型算法代码示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
template<typename T>
void printVector(const std::vector<T>& vec) {
for (const auto& element : vec) {
std::cout << element << " ";
}
std::cout << std::endl;
}
template<typename T>
void squareVector(std::vector<T>& vec) {
std::transform(vec.begin(), vec.end(), vec.begin(), [](const T& element) {
return element * element;
});
}
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Original vector: ";
printVector(numbers);
squareVector(numbers);
std::cout << "Squared vector: ";
printVector(numbers);
return 0;
}
```
在这个示例中,我们定义了两个泛型函数 `printVector` 和 `squareVector`。`printVector` 函数用于打印一个向量的元素,而 `squareVector` 函数用于将向量中的每个元素平方。
在 `main` 函数中,我们创建了一个 `std::vector<int>` 类型的向量 `numbers`,并初始化它。然后,我们先打印出原始向量的内容,然后调用 `squareVector` 函数对向量中的每个元素进行平方操作。最后,我们再次打印出平方后的向量内容。
这个示例展示了如何使用泛型算法和函数来处理不同类型的容器和数据。你可以根据需要修改代码中的数据类型和函数逻辑来适应不同的场景。希望对你有所帮助!
阅读全文