既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
一、前言
经常刷算法题的朋友,肯定会经常看到题目中提到 去重 这样的字眼,或者需要我们通过去重来解题,由于之前对 去重了解的不太清楚,导致做题的时候总会卡住,所以收集了一些资料来详解Unique。
二、去重函数 Unique()
✨头文件
unique函数 是STL 中比较实用的函数之一
包含该函数的函数头文件为
#include <algorithm>
✨用法与作用
- 函数作用:“去除”容器或数组中相邻元素之间重复出现的元素(所以一般使用前需要排序)。
- 函数参数:第一个参数是集合的起始地址,第二个参数是集合的最后一个元素的下一个元素的地址(其实还有第三个参数,比较函数,但是几乎不用,就不说了,其实和sort函数很像)。
int a[5]={1,4,2,7,2};
sort(a,a+5);
unique(a,a+5);
**去重后不相同元素的个数:**就是函数返回值减去集合的初始位置。
int len=unique(a,a+5)-a;//去重后不相同元素的个数
✨注意点
- a 这里的删除不是真的delete,而是将重复的元素放到容器末尾
- c 一定要先对数组进行排序才可以使用unique函数
- b unique函数的返回值是去重之后的尾地址
int main()
{
int myints[] = { 10,20,20,20,30,30,20,20,10 };
vector<int> myvector(myints, myints + 9);
cout << "去重前" << endl;
for (int i = 0; i < 9; i++)
{
cout << myvector[i] << " ";
}
cout << endl;
![img](https://img-blog.csdnimg.cn/img_convert/e01f89818682924d04868393380bc49c.png)
![img](https://img-blog.csdnimg.cn/img_convert/c88f8731f27263d3d7cfa256fed9b825.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
bs.csdn.net/topics/618668825)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**