📅  最后修改于: 2023-12-03 15:36:35.429000             🧑  作者: Mango
在C++中,STL(标准模板库)提供了许多有用的容器和算法来简化编程工作。本文将介绍如何使用STL计算二进制数组中1和0的数量。
给定一个二进制数组,需要计算其中1和0的数量。
例如,对于以下二进制数组:
int arr[] = {1, 0, 0, 1, 0, 1, 1, 0};
我们需要计算出其中1的数量为4,0的数量为4。
为了计算二进制数组中1的数量,我们可以使用std::count()
算法,该算法可以用来计算序列中等于给定值的元素数量。
int count_ones = std::count(arr, arr + sizeof(arr) / sizeof(int), 1);
上述代码使用std::count()
算法计算二进制数组中等于1的元素数量。arr
为二进制数组的指针,arr + sizeof(arr) / sizeof(int)
表示序列中的最后一个元素的下一个位置的指针,即数组的结束指针。最后一个参数1
表示需要计数的元素值。
与计算1的数量类似,我们可以使用std::count()
算法计算二进制数组中0的数量。
int count_zeros = std::count(arr, arr + sizeof(arr) / sizeof(int), 0);
上述代码使用std::count()
算法计算二进制数组中等于0的元素数量。最后一个参数改为0
即可。
#include <iostream>
#include <algorithm>
int main()
{
int arr[] = {1, 0, 0, 1, 0, 1, 1, 0};
int count_ones = std::count(arr, arr + sizeof(arr) / sizeof(int), 1);
int count_zeros = std::count(arr, arr + sizeof(arr) / sizeof(int), 0);
std::cout << "Number of ones: " << count_ones << std::endl;
std::cout << "Number of zeros: " << count_zeros << std::endl;
return 0;
}
输出:
Number of ones: 4
Number of zeros: 4
本文介绍了如何使用STL计算二进制数组中1和0的数量。使用std::count()
算法可以轻松地完成计数任务。