以前遇到那种要去重的题总是束手无措或是写一个笨方法,循环比较删除。今天决定学习一下去重的函数,顺便分享一下。有问题的欢迎指出。
#include <bits/stdc++.h>//包含所有C++中的头函数
using namespace std;
int main(){
int s[]={4,4,2,5,3,1,5,5,4};
vector<int>v(s,s+9);
vector<int>::iterator it;//相当于指针
sort(v.begin(),v.end());//必须要排一下序,unique函数只能删除相邻重复的元素,若不相邻也不会删除
for(it=v.begin();(it+1)!=v.end();++it){
cout<<' '<<*it;
}
cout<<endl;
vector<int>::iterator its=unique(v.begin(),v.end());//unique返回的是除重后的最后一个元素的地址;
for(it=v.begin();it!=its;++it){
cout<<' '<<*it;
}
return 0;
}