21xrx.com
2024-09-19 23:58:33 Thursday
登录
文章检索 我的文章 写文章
C++输出数组中每个数字的种类数
2023-07-05 04:19:20 深夜i     --     --
C++ 数组 数字 种类数

C++是一种强大的编程语言,可以用于开发各种各样的应用程序。其中,输出数组中每个数字的种类数是一种常见而且有用的编程任务。

要输出一个数组中每个数字的种类数,程序需要先创建一个哈希表(或者叫做“映射表”)来存储数字及其出现次数的信息。哈希表可以快速地查找数字并统计它们出现的次数,因此非常适合这种任务。

下面是一个使用哈希表输出数组中每个数字的种类数的例子代码:


#include <iostream>

#include <unordered_map>

using namespace std;

int main()

{

  int arr[] = 1; // 要统计的数组

  unordered_map<int, int> mp; // 创建哈希表

  for (int i = 0; i < sizeof(arr) / sizeof(int); i++)

  {

    mp[arr[i]]++; // 统计每个数字出现的次数

  }

  cout << "数组中每个数字的种类数为:" << endl;

  for (auto it = mp.begin(); it != mp.end(); it++)

  

    cout << it->first << ":" << it->second << "个" << endl; // 输出每个数字及其出现次数

  

  return 0;

}

运行上面的程序后,输出如下:


数组中每个数字的种类数为:

1:4个

2:3个

3:2个

4:1个

以上代码使用了C++ STL(Standard Template Library)中的一个关联容器——unordered_map。它可以存储任意类型的键和值,并支持快速地查询和修改。在程序中,我们使用unordered_map存储每个数字及其出现次数的信息。

程序的核心部分是一个for循环,它遍历数组中的每个数字,并统计它们出现的次数。具体来说,我们使用了一个自增操作符(++)来更新哈希表中对应数字的计数器。如果哈希表中还没有这个数字的记录,则会自动创建一个新的记录并将计数器初始化为0。

最后,我们再使用一个for循环遍历哈希表,并输出每个数字及其出现次数的信息。这里使用了auto关键字和指针解引用符(->)来简化代码,并使其更易读。

总之,使用C++输出数组中每个数字的种类数是一种简单而实用的编程技巧。通过使用哈希表或其他关联容器,我们可以快速地统计数组中各个数字的出现次数,并输出它们的种类数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复