STL中去重函数unique |
您所在的位置:网站首页 › stl去重函数 › STL中去重函数unique |
一: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 |