STL中去重函数unique

您所在的位置:网站首页 stl去重函数 STL中去重函数unique

STL中去重函数unique

2024-07-10 21:23| 来源: 网络整理| 查看: 265

一:unique(a.begin(),a.end());去重函数只是去掉连续的重复值,对于不连续的值没有影响,SO,在使用前一般需要进行排序处理;

二:  vector::iterator new_end=unique(a.begin(),a.end()); 函数返回值是一个指向新的结束位置的迭代器;

unique()函数原理如果两个连续的函数是重复的,则将第二个数用后边的不重复的数字进行覆盖,所以在unique处理之后还会在new_end和a.end() 中间存在数字,需要进行删除

简单处理的代码:

 

sort(a.begin(),a.end());//提前进行排序 a.erase(unique(a.begin(),a.end()),a.end());//去重并删除后边多余的数

 示例:

#include #include #include using namespace std; int main() { cin.tie(0); cout.tie(0); ios::sync_with_stdio(false); int n,num; vector a; cin>>n; for(int i=0;i>num; a.push_back(num); } sort(a.begin(),a.end()); a.erase(unique(a.begin(),a.end()),a.end()); cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3