本文主要是介绍c++两种去重方法(erase+unique 和 unique),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一,erase+unique 适用于容器如 vector。
1.代码:
vector<int> v;//使用unique前必须排序(他只能删除相邻相同的元素,背过即可)sort(v.begin(),v.end());// unique(v.begin(),v.end())返回的是不重复元素的下一个
//背过即可v.erase(unique(v.begin(),v.end()),v.end());
二,unique(用于非容器例如 数组)
int a[50];//这里a+1为起始位置
sort(a+1,a+n+1);//unique返回不重复元素序列的下一个
//例如:1 1 1 2 3 4------>unique---------->1 2 3 4 1 1
//返回的是 *------------>这个位置
//那么unique(a+1,a+n+1)-(a+1)不重复序列的长度int m=unique(a+1,a+n+1)-(a+1); //后面遍历1-m即可
这篇关于c++两种去重方法(erase+unique 和 unique)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!