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

c++server side programmingprogramming更新于 2024/9/27 6:22:00

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

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

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

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

例如

输入 − 向量 vec = {1, 2, 3, 4, 4, 4, 4}
      目标 = 4
输出 − 计数为:4

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

输入 − 向量 vec = {1, 2, 3}
      目标 = 4
输出 −计数为: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

相关文章