21xrx.com
2024-09-20 01:05:05 Friday
登录
文章检索 我的文章 写文章
C++如何实现不重复输出?
2023-07-05 00:11:44 深夜i     --     --
C++ 不重复输出 实现

C++是一门高级编程语言,其强大的功能和广泛的应用使其成为众多开发者的首选语言。在C++编程中,有时我们需要实现不重复输出的功能。

在C++编程中,有几种方法可以实现不重复输出。下面介绍三种简单易懂的方法:

方法一:使用计数器

这种方法利用了计数器的原理。我们可以记录每个数值出现的次数,然后只输出计数器为1的数值。具体实现如下:


#include<iostream>

using namespace std;

int main(){

  int arr[] = 9;

  int n = sizeof(arr) / sizeof(int);

  int i, count;

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

    count = 0;

    for(int j = 0; j < n; j++){

      if(arr[i] == arr[j])

        count++;

    }

    if(count == 1)

      cout << arr[i] << " ";

  }

  return 0;

}

方法二:使用哈希表

哈希表是一种非常实用的数据结构,可以帮助我们实现高效的查找和删除。在不重复输出的问题中,我们可以利用哈希表将重复出现的元素删掉。具体实现如下:


#include<iostream>

using namespace std;

void printUnique(int arr[], int n){

  unordered_map<int, int> hash;

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

    hash[arr[i]]++;

  }

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

    if(hash[arr[i]] == 1)

      cout << arr[i] << " ";

  }

}

int main(){

  int arr[] = 9;

  int n = sizeof(arr) / sizeof(int);

  printUnique(arr, n);

  return 0;

}

方法三:使用集合

集合是一种非常实用的数据结构,它可以帮助我们快速地实现去重的功能。在不重复输出的问题中,我们可以利用集合将重复出现的元素删除。具体实现如下:


#include<iostream>

#include<set>

using namespace std;

void printUnique(int arr[], int n){

  set<int> s;

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

    s.insert(arr[i]);

  }

  for(auto i : s)

    cout << i << " ";

  

}

int main(){

  int arr[] = 2;

  int n = sizeof(arr) / sizeof(int);

  printUnique(arr, n);

  return 0;

}

以上是三种实现不重复输出的方法,它们分别利用了计数器、哈希表和集合的原理。其中,使用哈希表和集合的方法在效率上有一定的优势。我们可以根据具体的场景选择合适的方法来实现不重复输出。

  
  

评论区

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