zoukankan      html  css  js  c++  java
  • vector实现去重

    两种方法

      一:使用set

      二:使用sort+unique

        就是:先排序,然后用unique把重复的数字都放在后面,再用erase删除

    //
    // Created by LK on 2020/3/31.
    //
    
    #include <iostream>
    #include <vector>
    #include <set>
    #include <algorithm>
    using namespace std;
    
    // 去重方法一,使用set
    void RemoveRepeat1(vector<int>& vec)
    {
        set<int> setVec(vec.begin(), vec.end());
        vec.assign(setVec.begin(), setVec.end());
    }
    // 方法二,使用sort + unique函数
    // 先排序,然后去重
    void RemoveRepeat2(vector<int> &vec)
    {
        sort(vec.begin(),vec.end());
        // unique让所有重复的数都放到最后,返回一个迭代器
        
        // 1 2 3 4 3 就是返回3的迭代器
        auto it = unique(vec.begin(), vec.end());
    
        vec.erase(it, vec.end());
    }
    int main()
    {
        vector<int> vec = {1,2,2,1,4,2,4,7,43};
        RemoveRepeat2(vec);
    
        for(auto it : vec)
            cout << it << " ";
        return 0;
    }
  • 相关阅读:
    分布式文件系统
    分布式文件系统
    ASP.NET MVC 使用 FluentScheduler 定时器计划任务
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
  • 原文地址:https://www.cnblogs.com/xiaokang01/p/12603924.html
Copyright © 2011-2022 走看看