21xrx.com
2025-07-14 09:26:45 Monday
文章检索 我的文章 写文章
C++如何计算数组中独特元素的个数?
2023-07-04 01:14:18 深夜i     29     0
C++ 数组 独特元素 计算 个数

在C++中,计算数组中独特元素的个数可以通过几种方法来实现。首先,我们需要了解什么是“独特元素”。在数组中,独特元素是指在整个数组中没有重复出现的元素,也称为“不同的元素”。

方法一:使用set容器

set容器是STL中的一个关联容器,它可以帮助我们快速地查找元素是否存在。我们可以使用set容器来保存数组中的元素,然后计算set容器的大小,即为数组中独特元素的个数。

具体实现可以参考以下代码片段:

#include <iostream>
#include <set>
using namespace std;
int main()
{
  int arr[] = 3;
  int n = sizeof(arr) / sizeof(arr[0]);
  set<int> s;
  for (int i = 0; i < n; i++) {
    s.insert(arr[i]);
  }
  cout << "独特元素的个数为:" << s.size() << endl;
  return 0;
}

输出结果为:独特元素的个数为:8

方法二:使用哈希表

哈希表是一种高效的数据结构,可以用于快速查找元素的存在性。我们可以使用哈希表来统计数组中各元素出现的次数,最后计算出现次数为1的元素个数,即为数组中独特元素的个数。

具体实现可以参考以下代码片段:

#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
  int arr[] = 6;
  int n = sizeof(arr) / sizeof(arr[0]);
  unordered_map<int, int> mp;
  for (int i = 0; i < n; i++) {
    mp[arr[i]]++;
  }
  int cnt = 0;
  for (auto p : mp) {
    if (p.second == 1) {
      cnt++;
    }
  }
  cout << "独特元素的个数为:" << cnt << endl;
  return 0;
}

输出结果为:独特元素的个数为:8

总结

在实际编程中,我们可以根据具体情况选择使用set容器或哈希表来计算数组中独特元素的个数。如果对元素顺序没有要求,建议使用哈希表;如果需要维护元素的顺序,可以使用set容器。在使用哈希表时,需要注意哈希函数的选择与冲突处理方式的实现,以确保哈希表的效率和正确性。

  
  

评论区