unique()函数

这篇博客是本人在学习算法中遇到的一个常用的函数,记录分享给大家

注意 :unique()函数是删除相邻的重复元素,并且返回的是去重范围后的第一个元素的地址,左闭右开

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
  vector<int> v={5,2,7,4,1,2,4,5,1};
  sort(v.begin(),v.end());
  
  auto pos=unique(v.begin(),v.end());
  v.erase(pos,v.end());
  for(auto e : v)
  {
    cout<<e<<" ";
  }
  
  
  int a[10]={1,3,2,4,6,2,1,1,5,2};
  sort(a,a+10);
  int n=unique(a,a+10)-a;//返回的是地址,所以要减去首元素的地址,得到n
  //注意nuique的返回的是删除完的数组,
  //的最后一个元素的下一个位置的地址
 
  for(int i=0;i<n;i++)
  {
    cout<<a[i]<<" ";
  }

  return 0;
}
相关推荐
自然语1 分钟前
人工智能之数字生命-情绪
人工智能·算法
编程修仙4 分钟前
第七篇 java的注解以及使用反射实现自定义注解功能
xml·java·开发语言·spring
Ayanami_Reii9 分钟前
进阶数据结构应用-维护序列
数据结构·算法·线段树
_w_z_j_16 分钟前
mari和shiny() (多状态dp数组)
算法
GesLuck18 分钟前
Beaglebone BB Black C版 AM3358(一)
c语言·开发语言·物联网·硬件架构
lusasky19 分钟前
Java内存堆栈AI分析工具全览
java·开发语言
CoderYanger20 分钟前
C.滑动窗口-越长越合法/求最短/最小——2904. 最短且字典序最小的美丽子字符串
java·开发语言·数据结构·算法·leetcode·1024程序员节
Tim_1022 分钟前
【算法专题训练】33、堆
算法
lijiatu1008626 分钟前
[C++] QTimer与Qt事件循环机制 实验探究
c++·qt
QQ_43766431430 分钟前
常见题目及答案
android·java·开发语言