给我们一个向量,任务是计算向量中与目标值或条件匹配的那些元素的计数。
向量是可以更改大小的序列容器。容器是保存相同类型数据的对象。顺序容器严格按线性顺序存储元素。
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