用C++编写一段代码,实现在长度为lens的数组list中;统计元素e出现的次数,以返回值返回
时间: 2024-09-12 17:02:25 浏览: 37
C++将数字从键盘读入数组并统计数字出现的次数,元素从大到小的顺序排序
在C++中,你可以使用`std::vector`容器并结合`std::count_if`算法来实现这个功能。这是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int countOccurrences(const std::vector<int>& list, int e, int lens) {
// 确保lens的有效性
if (lens <= 0 || lens > list.size()) {
std::cerr << "Invalid lens! It should be within the vector size." << std::endl;
return -1; // 或者抛出异常
}
// 使用count_if计算元素e在前lens个位置出现的次数
return std::count_if(list.begin(), list.begin() + lens, [e](const auto& val) { return val == e; });
}
int main() {
std::vector<int> list = {1, 2, 3, 4, 5, 2, 6, 7, 2};
int e = 2;
int lens = 8;
int occurrences = countOccurrences(list, e, lens);
if (occurrences != -1) {
std::cout << "Element " << e << " appears " << occurrences << " times in the first " << lens << " elements of the array." << std::endl;
}
return 0;
}
```
在这个例子中,`countOccurrences`函数接受一个整数向量、目标元素以及一个长度作为参数,它会计算出该元素在指定长度内的出现次数。
阅读全文