C++ vector数数
时间: 2024-12-26 20:25:25 浏览: 5
### C++ 使用 `std::vector` 进行元素计数
在C++中,可以利用标准模板库(STL)提供的功能来统计向量内特定元素的数量。下面展示了一个具体的例子,该程序会计算给定整数值在一个由若干整数组成的向量里出现了多少次。
#### 完整代码实例
```cpp
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7};
int target = 3;
// 计算目标值target在numbers中的出现次数
auto count = std::count(numbers.begin(), numbers.end(), target);
std::cout << "The number " << target << " appears "
<< count << " times." << std::endl;
return 0;
}
```
这段代码展示了如何创建一个名为`numbers`的整型向量并初始化它[^2]。接着定义了想要查找的目标值`target`。通过调用`std::count()`函数,传入迭代器范围以及待查元素作为参数,从而得到匹配项的数量[^3]。最后打印出结果到控制台。
对于更复杂的条件判断,则可采用`std::count_if()`配合lambda表达式或其他谓词实现自定义逻辑:
```cpp
auto is_even = [](const int& n){return n % 2 == 0;};
auto even_count = std::count_if(numbers.begin(), numbers.end(), is_even);
std::cout << "There are " << even_count
<< " even numbers in the list.\n";
```
此部分扩展说明了除了简单的相等比较外,还可以基于任意布尔表达式的真伪来进行计数操作[^4]。
阅读全文