C++中unique函数的用法示例
介绍
unique是STL比较实用的一个函数。用于“去除”容器内相邻的重复的元素(只保留一个)。这里说的去除并不是真正将容器内的重复元素删去,只是把重复的元素移到容器最后,但是依然在容器内。 对于数组而言返回去重后最后一个元素的指针,而其他容器则是返回去重后最后一个元素的迭代器。
用法举例
因为是去除相邻的重复元素,因此通常使用前容器应该要是有序的。
数组
#include <iostream> #include <algorithm> using namespace std; int main() { int a[6] = {1,1,4,6,6,7}; int *p = unique(a,a+6); cout << &a[4] << endl; cout << p << endl; cout << p - a <<endl; for(int i = 0;i < p-a;i++) { cout << a[i] << endl; } return 0; }
vector
要想真正去除重复元素还需要使用erase()函数
#include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { vector<int> v; v.push_back(1); v.push_back(1); v.push_back(4); v.push_back(6); v.push_back(6); v.push_back(7); vector<int>::iterator it = unique(v.begin(),v.end()); cout<< v.size() <<endl; v.erase(it,v.end()); for(it = v.begin();it != v.end();it++) { cout << *it << " "; } return 0; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
C++ 中使用lambda代替 unique_ptr 的Deleter的方法
代码 #include <iostream> #include <cstdlib> #include <memory> #include <string> #include <functional> using namespace std; class go { public: go() {} ~go() { cout << "go die.\n"; } }; auto d = [] ( go * gp ) { d
-
C++11新特性之智能指针(shared_ptr/unique_ptr/weak_ptr)
shared_ptr基本用法 shared_ptr采用引用计数的方式管理所指向的对象.当有一个新的shared_ptr指向同一个对象时(复制shared_ptr等),引用计数加1.当shared_ptr离开作用域时,引用计数减1.当引用计数为0时,释放所管理的内存. 这样做的好处在于解放了程序员手动释放内存的压力.之前,为了处理程序中的异常情况,往往需要将指针手动封装到类中,通过析构函数来释放动态分配的内存:现在这一过程就可以交给shared_ptr去做了. 一般我们使用make_shared来
-
C++中unique函数的用法示例
介绍 unique是STL比较实用的一个函数.用于"去除"容器内相邻的重复的元素(只保留一个).这里说的去除并不是真正将容器内的重复元素删去,只是把重复的元素移到容器最后,但是依然在容器内. 对于数组而言返回去重后最后一个元素的指针,而其他容器则是返回去重后最后一个元素的迭代器. 用法举例 因为是去除相邻的重复元素,因此通常使用前容器应该要是有序的. 数组 #include <iostream> #include <algorithm> using namesp
-
jQuery中extend函数简单用法示例
本文实例讲述了jQuery中extend函数简单用法.分享给大家供大家参考,具体如下: var result=$.extend({},item,item1); extend给对象添加新的属性:js插件经常使用来配置参数 {}:item和item1合并后的结果 item:默认属性 item1:新增属性,如果item1和item属性重合则会覆盖item1中的属性 <span id="Test"></span> var item={"name":&
-
php中preg_replace_callback函数简单用法示例
本文实例讲述了php中preg_replace_callback函数用法.分享给大家供大家参考,具体如下: mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] ) 本函数的行为几乎和 preg_replace() 一样,除了不是提供一个 replacement 参数,而是指定一个 callback 函数.该函数将以目标字符串中的匹配数组作为输入参数,并返回用于替换的
-
Python中join函数简单代码示例
本文简述的是string.join(words[, sep]),它的功能是把字符串或者列表,元组等的元素给拼接起来,返回一个字符串,和split()函数与正好相反,看下面的代码理解. 首先展示下结果吧! 代码分享: a=["豫","N","C8","C89"] b=("豫","N","C8","C89") c="zhang" a
-
Oracle 中Contains 函数的用法
1. 查询住址在北京的学生 SELECT student_id,student_name FROM students WHERE CONTAINS( address, 'beijing' ) remark: beijing是一个单词,要用单引号括起来. 2. 查询住址在河北省的学生 SELECT student_id,student_nameFROM students WHERE CONTAINS( address, '"HEIBEI province"' ) remark: HEBE
-
python中namedtuple函数的用法解析
源码解释: def namedtuple(typename, field_names, *, rename=False, defaults=None, module=None): """Returns a new subclass of tuple with named fields. >>> Point = namedtuple('Point', ['x', 'y']) >>> Point.__doc__ # docstring for
-
AngularJS中一般函数参数传递用法分析
本文实例讲述了AngularJS中一般函数参数传递用法.分享给大家供大家参考,具体如下: 1. 模型参数 直接使用变量名,不要加引号 <!doctype html> <html ng-app="passAter"> <head> <meta charset="utf-8"/> </head> <body> <div ng-controller="passCtrl">
-
Sql Server中Substring函数的用法实例解析
SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'
-
Jquery中map函数的用法
很久没用map()这个函数了,由于最近看一篇react的文章,其中有谈到map()这个函数,于是就重新查了一些资料,发现map()函数可以用在不同的地方,下面小编总结具有内容分享给大家,也方便今后查找. 其实,本人一直很少用map()这个函数,因为最近看一篇React的文章,其实有谈及map()函数,于是自己也重新查了一些资料,发现map()函数也可以用在不同的地方: map()函数把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的Jquery对象 语法:.map(callback(i
-
Python中int()函数的用法浅析
int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builtin__: class int(object) | int(x[, base]) -> integer | | Convert a string or number to an integer, if possible. A floating point | argument will be truncated
随机推荐
- asp.net 错误:0x8007000B 异常的解决方法
- jquery简单瀑布流实现原理及ie8下测试代码
- BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
- php文件包含目录配置open_basedir的使用与性能详解
- 浅谈ASP数据库下载漏洞
- C语言实现冒泡排序算法
- 详解Android Scroller与computeScroll的调用机制关系
- mysql中数据库与数据表编码格式的查看、创建及修改
- php实现批量压缩图片文件大小的脚本
- Ruby on Rails中的ActiveRecord编程指南
- VBS教程:VBscript语句-功能介绍
- SQL Server代理服务无法启动怎么办
- jQuery列表拖动排列具体实现
- 使用tab做左缩进和右缩进, 你知道么?
- VBS教程:方法-MoveFile 方法
- 详解C语言编程中的函数指针以及函数回调
- JS敏感词过滤代码
- 几种常见 Cisco 交换机端口监听配置
- three.js搭建室内场景教程
- Python爬虫——爬取豆瓣电影Top250代码实例