Eliminar elementos duplicados en un Array usando STL en C++

Dada una array, la tarea es eliminar los elementos duplicados de la array usando STL en C++ Ejemplos:

Input: arr[] = {2, 2, 2, 2, 2}
Output: arr[] = {2}

Input: arr[] = {1, 2, 2, 3, 4, 4, 4, 5, 5}
Output: arr[] = {1, 2, 3, 4, 5}

Enfoque: Esto se puede hacer usando set en la biblioteca de plantillas estándar . Establecer tipo de variable en STL elimina automáticamente el elemento duplicado cuando almacenamos el elemento en él. A continuación se muestra la implementación del enfoque anterior: 

CPP

// C++ program to remove the
// duplicate elements from the array
// using STL in C++
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to remove duplicate elements
void removeDuplicates(int arr[], int n)
{
 
    int i;
 
    // Initialise a set
    // to store the array values
    set<int> s;
 
    // Insert the array elements
    // into the set
    for (i = 0; i < n; i++) {
 
        // insert into set
        s.insert(arr[i]);
    }
 
    set<int>::iterator it;
 
    // Print the array with duplicates removed
    cout << "\nAfter removing duplicates:\n";
    for (it = s.begin(); it != s.end(); ++it)
        cout << *it << ", ";
    cout << '\n';
}
 
// Driver code
int main()
{
    int arr[] = { 4, 2, 3, 3, 2, 4 };
 
    int n = sizeof(arr) / sizeof(arr[0]);
 
    // Print array
    cout << "\nBefore removing duplicates:\n";
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
 
    // call removeDuplicates()
    removeDuplicates(arr, n);
 
    return 0;
}
Producción:

Before removing duplicates:
4 2 3 3 2 4 
After removing duplicates:
2, 3, 4,

Complejidad de tiempo: O (NlogN)

Complejidad espacial : O(N)
 

Publicación traducida automáticamente

Artículo escrito por shivamkukreti y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *