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

更新于:2020年5月15日

508 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告