c++中怎么用map统计数字

avatar
作者
猴君
阅读量:0

在C++中,可以使用std::map来统计数字的出现次数。以下是一个使用std::map统计数字出现次数的示例代码:

#include <iostream> #include <map>  int main() {     std::map<int, int> numCount;          int nums[] = {1, 2, 3, 4, 5, 1, 2, 3, 4, 1};     int size = sizeof(nums) / sizeof(nums[0]);          for (int i = 0; i < size; i++) {         numCount[nums[i]]++;     }          for (auto it = numCount.begin(); it != numCount.end(); ++it) {         std::cout << "Number " << it->first << " appears " << it->second << " times." << std::endl;     }          return 0; } 

在代码中,首先创建了一个std::map<int, int>对象numCount,用于保存数字和其出现次数的映射关系。

然后,定义了一个整型数组nums,用于存储待统计的数字序列。

接下来,使用for循环遍历数组nums,对每个数字进行统计。通过numCount[nums[i]]++操作,将数字nums[i]作为键,将其出现次数递增1作为值存储到numCount中。如果该数字已经存在于numCount中,将会自动递增其出现次数;如果该数字不存在于numCount中,将会在numCount中新增该数字并将其出现次数设置为1。

最后,使用另一个for循环遍历numCount,输出每个数字和其出现次数。it->first表示当前迭代器指向的键(即数字),it->second表示当前迭代器指向的值(即出现次数)。

输出结果如下:

Number 1 appears 3 times. Number 2 appears 2 times. Number 3 appears 2 times. Number 4 appears 2 times. Number 5 appears 1 times. 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!