117.info
人生若只如初见

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

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

#include 
#include 

int main() {
    std::map 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对象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.

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe986AzsLBQZTAlw.html

推荐文章

  • C++中CompareNoCase()的用法是什么

    在C++中,CompareNoCase()是一个用于忽略大小写比较字符串的函数。它通常用于比较两个字符串,而不考虑字符的大小写。
    该函数的用法如下:
    int Compar...

  • C#中StretchDIBits函数的用法是什么

    在C#中,StretchDIBits函数是GDI+(Graphics Device Interface)提供的一个函数,用于将设备无关位图(DIB)从源矩形复制到目标矩形。它可以在不同的设备上进行位...

  • c++中vector的用法是什么

    在C++中,vector是一种动态数组,它是标准模板库(STL)中的一部分。它可以用于存储和操作一组元素,类似于数组。与普通数组相比,vector具有以下优势: 动态大小...

  • C++中ScreenToClient的作用是什么

    在C++中,ScreenToClient函数用于将屏幕上的鼠标或触摸事件的坐标转换为窗口客户区内的坐标。它是Windows API的一部分,通常在窗口处理函数中使用。
    使用Sc...

  • java toString方法怎么使用

    在Java中,toString()方法是Object类的一个方法,它默认返回对象的字符串表示。如果我们想要自定义一个类的toString()方法,可以按照以下步骤进行: 在自定义类中...

  • Linux中怎么查看Redis进程号

    在Linux中,可以使用ps命令结合grep命令来查看Redis进程号。
    首先,打开终端,输入以下命令:
    ps -ef | grep redis 执行该命令后,系统会显示包含关键...

  • redis怎么查询set中的值

    要查询 Redis 中 set 数据结构中的值,可以使用以下命令: SMEMBERS key:返回指定 key 中的所有成员。 SMEMBERS key SCARD key:返回指定 key 中的成员数量。 S...

  • java数组末尾怎么添加元素

    在Java中,如果要向数组的末尾添加一个元素,可以采用以下两种方法: 使用Arrays.copyOf()方法 int[] arr = {1, 2, 3, 4, 5};
    int newElement = 6; // 创建...