Удалите повторяющиеся элементы в массиве с помощью STL в C ++

Опубликовано: 29 Декабря, 2021

Учитывая массив, задача состоит в том, чтобы удалить повторяющиеся элементы из массива с помощью STL в C ++.

Примеры:

Ввод: arr [] = {2, 2, 2, 2, 2}
Вывод: arr [] = {2}

Ввод: arr [] = {1, 2, 2, 3, 4, 4, 4, 5, 5}
Вывод: arr [] = {1, 2, 3, 4, 5}

Подход:

Это можно сделать, используя набор в стандартной библиотеке шаблонов. Переменная типа Set в STL автоматически удаляет повторяющийся элемент, когда мы сохраняем в нем элемент.

Ниже представлена реализация описанного выше подхода:

// 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 << " After removing duplicates: " ;
for (it = s.begin(); it != s.end(); ++it)
cout << *it << ", " ;
cout << ' ' ;
}
// Driver code
int main()
{
int arr[] = { 4, 2, 3, 3, 2, 4 };
int n = sizeof (arr) / sizeof (arr[0]);
// Print array
cout << " Before removing duplicates: " ;
for ( int i = 0; i < n; i++)
cout << arr[i] << " " ;
// call removeDuplicates()
removeDuplicates(arr, n);
return 0;
}
Выход:
Перед удалением дубликатов:
4 2 3 3 2 4 
После удаления дубликатов:
2, 3, 4,
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .



C++