c++中的unique函数

c++中的unique函数

unique 函数是c++标准模板库STL中的一个函数,使用的时候需要#include<algorithm>

其实这个函数的作用是“去除”容器或者是数组中相邻元素的重复出现的元素,注意的是

这里的去除并非真正意义上的去除,而是将重复的元素放到容器的末尾,返回的是去重之后的尾地址,

还有一点,unique针对的是相邻的元素,所以使用之前应该对数组或者容器中的成员进行排序,可以用std::sort()

使用实例


#include <iostream>
#include <vector>
#include <algorithm>
#define N 20
using namespace std;

int main(){

    vector<int> m(N,0);
    
    for(int i=0;i<m.size();i+=2){
        m[i] = i*i;
        m[i+1] = i*i;
    }   

    for(int i=0;i<m.size();i++){
        cout<<m[i]<<' ';
    }   
    cout<<'\n';
    
    auto p = unique(m.begin(), m.end());

    for(int i=0;i<m.size();i++){
        cout<<m[i]<<' ';
    }   
    cout<<'\n';


    m.erase(p, m.end());
    
    for(int i=0;i<m.size();i++){
        cout<<m[i]<<' ';
    }   
    cout<<'\n';

    return 0;
}

结果如下

0 0 4 4 16 16 36 36 64 64 100 100 144 144 196 196 256 256 324 324 
0 4 16 36 64 100 144 196 256 324 100 100 144 144 196 196 256 256 324 324 
0 4 16 36 64 100 144 196 256 324 

最后的部分是去掉重复的之后的数组。

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦