计算向量中与C ++中的目标值或条件匹配的元素

给我们一个向量,任务是计算向量中与目标值或条件匹配的那些元素的计数。

向量是可以更改大小的序列容器。容器是保存相同类型数据的对象。顺序容器严格按线性顺序存储元素。

Vector将元素存储在连续的内存位置,并允许使用下标运算符[]直接访问任何元素。与数组不同,向量可以在运行时根据需要缩小或扩展。向量的存储将自动处理。

为了在运行时支持收缩和扩展功能,矢量容器可能会分配一些额外的存储空间以适应可能的增长,因此,容器的实际容量大于该大小。因此,与阵列相比,向量消耗更多内存以换取以有效方式管理存储和动态增长的能力。

例如

Input − vector vec = {1, 2, 3, 4, 4, 4, 4}
      Target = 4Output − count is: 4

解释-在给定向量中,目标出现4次,因此计数为4

Input − vector vec = {1, 2, 3}
      Target = 4Output − count is: 0

解释-在给定的向量中,目标出现0次,因此计数为0

以下程序中使用的方法如下

  • 输入向量并将其存储在向量类型变量中,例如vec

  • 将目标值设置为整数值

  • 取一个临时变量来存储计数

  • 调用C ++ STL中可用的内置计数函数,并将vec.begin(),vec.end()传递给函数调用

  • 打印结果。

示例

#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