21xrx.com
2024-12-23 02:54:50 Monday
登录
文章检索 我的文章 写文章
C++如何输出出现两次的数组?
2023-06-28 00:57:30 深夜i     --     --
C++ 输出 数组 出现两次

在C++中,输出出现两次的数组需要遍历该数组,并记录每个元素出现的次数。若该元素出现的次数为2,则输出该元素。

以下是代码实现:


#include<iostream>

#include<map>

using namespace std;

int main()

{

  int arr[] = 5;  // 定义数组

  int n = sizeof(arr) / sizeof(arr[0]);

  // 用map记录每个元素出现的次数

  map<int, int> count;

  for(int i=0; i<n; i++)

  {

    count[arr[i]]++;

  }

  // 遍历map,输出出现2次的元素

  for(map<int, int>::iterator it=count.begin(); it!=count.end(); it++)

  {

    if(it->second == 2)

    

      cout << it->first << " ";

    

  }

  return 0;

}

以上代码中,我们使用了STL中的map容器来记录每个元素的出现次数。遍历map容器,当元素出现次数等于2时,输出该元素。

如果想输出所有出现2次及以上的元素,只需要将if语句中的==改为>=即可。

这种方法的时间复杂度为O(n),因为需要遍历整个数组。但是需要额外的空间来存储map容器,因此空间复杂度为O(n)。如果数组非常大,可能会导致内存不足。在这种情况下,我们可以使用其他算法来解决这个问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章