unique()

unique()是剔除重复他是剔除相邻之间字符重复的,倘若其中中的字符前后之间是没有重复的,unique函数是起不到作用的,所以使用以前都会sort处理。

unique()函数的返回值是源字符串中去除相邻之间相同字符后剩下的字符串中的最后一个字符的下一个位置,举例string str=“aabbcc”unique()操作之后是“abcbcc”,那么unique()返回的是指向不重元素的下一个位置,即指向“abc*cc”指向*号位置的地址;

unique函数本质上并不是将字符或者数组中的重复删除,而是将重复的元素留下一个,将欺负重复的放在末尾,本质上内存大小是不会变的

unique()返回的是不重元素的下一个位置

具体使用方法:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring> using namespace std; int main() {
string str="aabbcc";
cout<<str<<endl;
int size=unique(str.begin(),str.end())-str.begin();
for(int i=0;i<size;i++) {
cout<<str[i];
}
cout<<endl; }
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring> using namespace std; int main() {
string str="aabbcc";
cout<<str<<endl;
// int size=unique(str.begin(),str.end())-str.begin();
// for(int i=0;i<size;i++) {
// cout<<str[i];
// }
// cout<<endl; str.erase(unique(str.begin(),str.end()),str.end());
cout<<str<<endl; }

STL:unique()函数的更多相关文章

  1. unique函数 (STL)

    转自http://www.cnblogs.com/heyonggang/archive/2013/08/07/3243477.html 类属性算法unique的作用是从输入序列中“删除”所有相邻的重复 ...

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

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

  3. unique函数(STL)

    unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除.他是c++中的函数,所以头文件 ...

  4. c++ STL unique , unique_copy函数

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

  5. unique函数的作用

    unique() 去重函数 unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除.他 ...

  6. Maximum Value(unique函数,lower_bound()函数,upper_bound()函数的使用)

    传送门 在看大佬的代码时候遇到了unique函数以及二分查找的lower_bound和upper_bound函数,所以写这篇文章来记录以备复习. unique函数 在STL中unique函数是一个去重 ...

  7. MATLAB 的unique函数——数组矩阵的唯一值

    MATLAB 的unique函数——求数组矩阵的唯一值 相关MathWork文档见此:unique数组中的唯一值 1.C = unique(A) 返回与 A 中相同的数据,但是不包含重复项.C 已按照 ...

  8. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2)——A - Bear and Three Balls(unique函数的使用)

    A. Bear and Three Balls time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  9. 分享stl sort函数坑点导致coredump问题

    在<Effective STL> 的条款21中就有讨论:永远让比较函数对相同元素返回false! 也就是说在实现stl sort函数自定义比较器时,一定要满足这种严格弱序化的问题.

随机推荐

  1. 复旦大学2016--2017学年第二学期(16级)高等代数II期末考试第六大题解答

    六.(本题10分)  设 $A$ 为 $n$ 阶半正定实对称阵, $S$ 为 $n$ 阶实反对称阵, 满足 $AS+SA=0$. 证明: $|A+S|>0$ 的充要条件是 $r(A)+r(S)= ...

  2. iOS开发 -------- AFNetworking实现简单的断点下载

    一 实现如下效果   二 实现代码 // // ViewController.m // AFNetworking实现断点下载 // // Created by lovestarfish on 15/1 ...

  3. 破解微信防盗链&微信公众号文章爬取方案

    破解微信图文防盗链:https://www.cnblogs.com/xsxshmily/p/8000043.html 图片解除防盗链:https://blog.csdn.net/show_ljw/ar ...

  4. 【Entity Framework】Model First Approach

    EF中的model first 所谓mf, 就是使用vs提供的edm designer去设计model,然后将设计好的model使用vs在指定的数据库中生成数据库即可. 当你的项目既没有数据库也没有c ...

  5. mongodb 设置权限

    切换到要加密的数据库use diary 创建有 readWrite 权限的用户db.createUser({ user: "youuser", pwd: "youpass ...

  6. iSCSI网络协议.学习笔记

    Internet SCSI(iSCSI)是一种网络协议,使用TCP/IP网络来传输SCSI协议.它是代替FC(Fibre Channel-based,光纤通道) SAN的很好选择.你可以在Linux下 ...

  7. WinForm之中BindingNavigator控件的使用

    WinForm之中BindingNavigator控件的使用在微软WinForm中,BindingNavigator控件主要用来绑定数据.可以将一个数据集合与该控件绑定,以进行数据 联动的显示效果.如 ...

  8. 解决无法连接mysql问题

    解决无法连接mysql问题 在my.ini文件下加入explicit_defaults_for_timestamp 清空data文件夹 Cmd初始化mysql   输入>Mysqld  --in ...

  9. windows 和linux 文件互传

    1.sz +  文件   [拷贝到windows上] 2.rz + 文件 [拷贝到linux上]

  10. 完整的Django入门指南学习笔记7 网页自动翻译

    转自[https://simpleisbetterthancomplex.com/series/2017/10/16/a-complete-beginners-guide-to-django-part ...