📌  相关文章
📜  在C++中使用STL删除数组中的重复元素

📅  最后修改于: 2021-05-30 14:02:03             🧑  作者: Mango

给定一个数组,任务是使用C++中的STL从数组中删除重复的元素

例子:

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}

方法:

可以使用标准模板库中的set来完成。当我们在其中存储元素时,STL中的set type变量会自动删除重复元素。

下面是上述方法的实现:

// C++ program to remove the
// duplicate elements from the array
// using STL in C++
  
#include 
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 s;
  
    // Insert the array elements
    // into the set
    for (i = 0; i < n; i++) {
  
        // insert into set
        s.insert(arr[i]);
    }
  
    set::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;
}
输出:
Before removing duplicates:
4 2 3 3 2 4 
After removing duplicates:
2, 3, 4,
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”