unique(C++)函数的功能是元素去重。即”删除”序列中所有相邻的重复元素(只保留一个)。

 此处的删除,并不是真的删除,就是把重复元素的位置让不重复元素使用。

由于它”删除”的是相邻的重复元素,所以在使用unique函数之前,一般都会将目标序列进行排序。

下面来一道洛谷例题:

题目描述

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了NN个11到10001000之间的随机整数(N≤100)(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

输入格式

输入有两行,第11行为11个正整数,表示所生成的随机数的个数NN

第22行有NN个用空格隔开的正整数,为所产生的随机数。

输出格式

输出也是两行,第11行为11个正整数MM,表示不相同的随机数的个数。

第22行为MM个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

输入输出样例

输入 #1复制

10
20 40 32 67 40 20 89 300 400 15

输出 #1复制

8
15 20 32 40 67 89 300 400
#include<bits/stdc++.h>
using namespace std;
int main()
{int n,i;cin>>n;int a[100000];//我就是定义一个足够大的数组,这里不是重点for(i=0;i<n;i++){cin>>a[i];}sort(a,a+n);//这里就是排序int x=unique(a,a+n)-a;//关键点来了cout<<x<<endl;//x就是排序后没有重复元素的长度for(i=0;i<x;i++){cout<<a[i]<<" ";}return 0;
}

头文件我用的是万能头文件,如果对于unique()函数而言就要用#include<algorithm>;

unique(C++)函数相关推荐

  1. c++ STL unique , unique_copy函数

    一.unique函数 类属性算法unique的作用是从输入序列中"删除"全部相邻的反复元素. 该算法删除相邻的反复元素.然后又一次排列输入范围内的元素,而且返回一个迭代器(容器的长 ...

  2. unique去重函数

    https://www.cnblogs.com/heyonggang/p/3243477.html unique函数 类属性算法unique的作用是从输入序列中"删除"所有相邻的重 ...

  3. Matlab: 获取数组中不重复的元素,可以使用unique(arr)函数即可

    matlab中可以使用 a = unique(train_target) python中可以使用 a = set(train_target) 不积跬步,无以至千里;不积小流,无以成江海 跟着教程学,是 ...

  4. C++STL中的unique函数解析

    一.总述 unique函数属于STL中比较常用函数,它的功能是元素去重.即"删除"序列中所有相邻的重复元素(只保留一个).此处的删除,并不是真的删除,而是指重复元素的位置被不重复的 ...

  5. 【Unique函数】Unique函数用法

    unique函数属于STL中比较常用函数,它的功能是元素去重.即"删除"序列中所有相邻的重复元素(只保留一个).此处的删除,并不是真的删除,而是指重复元素的位置被不重复的元素给占领 ...

  6. 翻译连载 | JavaScript轻量级函数式编程-第4章:组合函数 |《你不知道的JS》姊妹篇...

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  7. matlab实战中一些重要的函数总结

    这段时间看了一些大型的matlabproject文件(如:faster r-cnn),对于project中常常要用到的一些函数进行一个总结. 1.路径问题. 这主要涵括文件路径的包括和组合. curd ...

  8. 17.容器的成员函数优先于同名的算法

    有些STL 容器提供了一些与算法同名的成员函数.大多数情况下,应该使用这些成员函数,而不是相应的STL算法. 有两个理由: 成员函数往往速度快. 成员函数通常与容器结合地更紧密,这是算法所不能比的. ...

  9. Effective_STL 学习笔记(四十四) 尽量使用成员函数代替同名的算法

    有些容器拥有和 STL 算法同名的成员函数. 关联容器提供了 count.find.lower_bound.upper_bound 和 euqal_range list 提供了 remove.remo ...

  10. python数组去重函数_Python科学计算库Numpy之 数组操作

    操作ndarray 的方法 numpy.reshape:这个函数在不改变数据的条件下修改形状 numpy.ndarray.flat:该函数返回数组上的一维迭代器,行为类似 Python 内建的迭代器 ...

最新文章

  1. 2019年人工智能行业又进入冬天了吗?
  2. 赫夫曼编码(基于赫夫曼树的实现)
  3. 【教程】2、读取新闻条目
  4. 【Android 逆向】加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 )
  5. 004_Gson树模型
  6. 10年老电脑如何提速_电信宽带免费提速至200M,面向全国用户活动日期2020年11月9日至12月31日...
  7. MATLAB —— 绘图
  8. 计算机的服务如何还原,电脑怎么样还原到出厂设置
  9. 操作系统(6)-协程
  10. html5 audio js控制进度,HTML5 audio标签使用js进行播放控制实例
  11. 唐雄燕点评NFV产业进程:2016年将迎来试点年
  12. 【软件】一个简单好用的取色器TakeColor(百度云免费下载链接)
  13. 阿里图标库(iconfont)下载图标使用图标技巧(保姆级图文)
  14. 适合APP的开发模式——敏捷开发
  15. linux逻辑卷管理的创建过程,LVM-逻辑卷管理器创建过程for linux
  16. 为图片赋值红色或绿色的伪彩 用python、EmguCV、 OpenCvSharp实现
  17. IPHONE黑解教程
  18. 数字签名技术及加密算法
  19. vue触发模拟点击效果功能
  20. Esper学习之十三:EPL语法(九)

热门文章

  1. 全国各地公用DNS服务器IP列表
  2. 大学计算机实验报告一齐鲁工业大学,计算机网络实验一
  3. M种模式类别的多变量正态类密度函数(正态分布模式的贝叶斯分类器)
  4. 什么是防火墙的入站规则和出站规则.如何新建入站规则
  5. 为什么说5G将颠覆传统零售思维?
  6. BSpline曲线逼近
  7. 微信抢号软件_“微信营销管理软件”企业微信个人号微信管控系统
  8. c odp.net连oracle,oracle odp.net 连接不上oracle
  9. C语言贪吃蛇课程设计实验报告(包含贪吃蛇项目源码)
  10. Android startActivity流程