用C++编写一段代码,实现在长度为lens的数组list中;统计元素e出现的次数,以返回值返回;
时间: 2024-09-12 13:02:17 浏览: 33
在C++中,你可以使用STL中的`std::count_if()`函数结合`std::vector`来实现这个功能。以下是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int countOccurrences(const std::vector<int>& list, int e, int lens) {
// 验证输入的有效性
if (lens <= 0 || list.empty()) {
std::cerr << "Invalid input: Length must be positive and the vector cannot be empty." << std::endl;
return -1; // 或者抛出异常
}
// 使用count_if计算元素e在list中出现的次数
return std::count_if(list.begin(), list.end(), [e](int i){ return i == e; });
}
int main() {
std::vector<int> list = {1, 2, 3, 4, 2, 5, 2, 6};
int e = 2;
int lens = list.size();
int occurrences = countOccurrences(list, e, lens);
if (occurrences != -1) {
std::cout << "Element " << e << " appears " << occurrences << " times in the array." << std::endl;
}
return 0;
}
```
在这个例子中,`countOccurrences`函数接受一个整数向量、目标元素以及向量的长度作为参数。它使用lambda表达式检查每个元素是否等于`e`,然后返回计数结果。
阅读全文