[c++学习打卡]STL

我觉得我一道题做不对的原因是:1.首先,平时做题就不是在有限的时间内完成 2. 做题时,逻辑没有理清,或者做题时精力不达标,思维陷入混乱 3. 思维没有流动起来,会走神或者卡顿 4. 没有把前几步记清楚,思路进行到了哪一步没有清楚。 5. 知识公式没记住。

pair

将两个绑定的值,进行传递,返回,操作

[c++学习打卡]STL_第1张图片

[c++学习打卡]STL_第2张图片

[c++学习打卡]STL_第3张图片

[c++学习打卡]STL_第4张图片

[c++学习打卡]STL_第5张图片

[c++学习打卡]STL_第6张图片

[c++学习打卡]STL_第7张图片

[c++学习打卡]STL_第8张图片

对pair进行遍历时,右边图片里的 const 表示我们不会对pair进行操作,&表示操作的是地址,pair:scores ,表示是从scores里取每一个元素出来,取名为pair.

vector

[c++学习打卡]STL_第9张图片

[c++学习打卡]STL_第10张图片

动态:自动分配内存,自己调整大小

元素访问里,当数组过大时,不要使用size()-1 (unsigned int 会出问题),直接 < size() 就好了

注意:如果先使用resize(),再使用了push_back(),会直接在开始规定的大小后面加上元素。

[c++学习打卡]STL_第11张图片

迭代器之间没有大小比较

[c++学习打卡]STL_第12张图片

[c++学习打卡]STL_第13张图片

[c++学习打卡]STL_第14张图片

[c++学习打卡]STL_第15张图片

用erase去掉重复的,也是左闭右开。

[c++学习打卡]STL_第16张图片

[c++学习打卡]STL_第17张图片

list

[c++学习打卡]STL_第18张图片

[c++学习打卡]STL_第19张图片

可以在常数时间内

不连续存储,但不能通过下标访问,即不可以随机访问,只能从头到尾访问,也不可以通过+1到达下一位。

[c++学习打卡]STL_第20张图片

[c++学习打卡]STL_第21张图片

关于迭代器,可以看下面一篇,写得很详细 

简单说明C++ STL list中的迭代器(iterator)_c++ list 迭代器-CSDN博客

所以,auto是用来声明迭代器的,a.begin() 可以++ 但是不能+1之类的操作。

返回元素的引用,所以用 int &a 来接收 arr.front(),对a进行操作会影响数组内的元素。

[c++学习打卡]STL_第22张图片

stack

[c++学习打卡]STL_第23张图片

第二个元素默认,不用考虑。

[c++学习打卡]STL_第24张图片

我们只能操作栈顶,底下的都是不知道的。

[c++学习打卡]STL_第25张图片

栈不可遍历。

[c++学习打卡]STL_第26张图片

.size() 返回的是 unsigned int 类型的。

queue

[c++学习打卡]STL_第27张图片

注意:pop()是不返回元素的,所以,如果要得到首元素且弹出首元素,要先front 后 pop

priority_queue

[c++学习打卡]STL_第28张图片

底层是一颗树,根为最大值

[c++学习打卡]STL_第29张图片

原本:大根堆,用less 

如果想改:小根堆,用 greater 定义在头文件里。

deque

[c++学习打卡]STL_第30张图片

如果我们已经在使用了队列,就不会在操作中间元素了。

做题出错

[c++学习打卡]STL_第31张图片

想要遍历队列 queue V 和 N 

set

关键:唯一、排序

如果是结构体,要重载一个 < 

[c++学习打卡]STL_第32张图片

[c++学习打卡]STL_第33张图片

[c++学习打卡]STL_第34张图片

仿函数

//仿函数
struct Mycompare{
    operation()(const int& a,const int& b){
        //实现从小到大变为从大到小
        return a>b;
    }
}

int main()
{
    set myset;
}

multiset

[c++学习打卡]STL_第35张图片

[c++学习打卡]STL_第36张图片

erase(x)  把所有x都删了,如果只想删一个?st.erase(st.find(x))

记得时间复杂度

unordered_set

[c++学习打卡]STL_第37张图片

[c++学习打卡]STL_第38张图片

[c++学习打卡]STL_第39张图片

[c++学习打卡]STL_第40张图片

[c++学习打卡]STL_第41张图片

你可能感兴趣的:(蓝桥杯,学习)