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

二:  vector<int>::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<iostream>
#include<algorithm>
#include<vector>
using namespace std; int main()
{
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(false); int n,num;
vector<int> a;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>num;
a.push_back(num);
}
sort(a.begin(),a.end());
a.erase(unique(a.begin(),a.end()),a.end());
cout<<a.size()<<endl;
for(int i=0;i<a.size();i++)
{
cout<<a[i];
if(i<a.size()-1)cout<<' ';
}
return 0;
}

最新文章

  1. CSSText属性批量修改样式
  2. Django-数据模型
  3. CUnit的用法
  4. Java正則表達式入门
  5. 教程 打造OS X Mavericks原版 EFI Clover 引导安装
  6. qosort 使用使用小例子
  7. Android用户界面UI组件--AdapterView及其子类(四) GridView
  8. 打jar包的方法
  9. TO DO NOW——送给奋斗着的程序“猿”们
  10. 读书笔记之ado.net entity framework
  11. 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)
  12. unittest中的测试固件
  13. C# -- 使用Aspose.Cells创建和读取Excel文件
  14. Six advantages of Nissan consult 3 diagnostic tool
  15. AJPFX简述:MetaTrader 4移动交易平台
  16. js之模态对话框
  17. python魔法方法-自定义序列
  18. jxl和POI的区别
  19. XXS level1
  20. 【LeetCode题解】19_删除链表的倒数第N个节点(Remove-Nth-Node-From-End-of-List)

热门文章

  1. 基于Python实现的系统SLA可用性统计
  2. 解压rpm文件
  3. 【IMP】导出的时候显示ddl建表语句
  4. 【Oracle】从删除的recyclebin中查看并恢复数据
  5. LeetCode572. 另一个树的子树
  6. 原生js制作表单验证,基本的表单验证方法
  7. 从零开始学spring源码之xml解析(二):默认标签和自定义标签解析
  8. windows桌面快速添加控制面板网络等图标
  9. Intellij idea 报错:Error : java 不支持发行版本5
  10. Go 语言编译过程