C++中统计向量中匹配目标值或条件的元素个数
给定一个向量,任务是计算向量中与目标值或条件匹配的元素个数。
向量是可以改变大小的序列容器。容器是一个保存相同类型数据的对象。序列容器严格按线性顺序存储元素。
向量将元素存储在连续的内存位置,并允许使用下标运算符 [] 直接访问任何元素。与数组不同,向量可以在运行时根据需要缩小或扩展。向量的存储由系统自动处理。
为了支持运行时的缩小和扩展功能,向量容器可能会分配一些额外的存储空间来适应可能的增长,因此容器的实际容量大于大小。因此,与数组相比,向量消耗更多内存,但可以有效地管理存储并动态增长。
例如
Input − vector vec = {1, 2, 3, 4, 4, 4, 4} Target = 4 Output − count is: 4
说明 − 在给定的向量中,目标值出现了4次,因此计数为4
Input − vector vec = {1, 2, 3} Target = 4 Output − count is: 0
说明 − 在给定的向量中,目标值出现了0次,因此计数为0
下面程序中使用的方案如下
输入向量并将其存储在一个向量类型变量中,例如vec
将目标值设置为整数值
取一个临时变量来存储计数
调用C++ STL中提供的内置count函数,并将vec.begin(),vec.end(),target传递给函数调用
打印结果。
示例
#include <algorithm> #include <iostream> #include <vector> using namespace std; int main(){ vector<int> myvector{ 1, 2, 3, 4, 4, 4, 4, 4 }; int target = 4; int res = count(myvector.begin(), myvector.end(), target); cout << "Target is: " << target << "\nCount is: " << res << endl; return 0; }
输出
如果运行以上代码,我们将得到以下输出:
Target is: 4 Count is: 5
广告