基础概念

六大组件:容器,算法,迭代器,仿函数,适配器,空间配置器

容器:各种数据结构

算法:各种常用的算法

迭代器:扮演了容器和算法之间的结合剂

仿函数:行为类似函数,可以作为算法的魔种策略

适配器:一种用来修饰容器或者仿函数或则迭代器接口的东西

空间配置器:负责空间的配置和管理

容器:

​ 1,序列式容器,无序

​ 2,关联式容器,有序

算法:

1, 质变算法

a) 运算过程中会改变区间内元素的内容 ,如,拷贝,替换,删除

2, 非质变算法

a) 运算过程中,不会更改区间内元素内容,如,查找,计数,遍历,寻找

迭代器:

​ 每个容器都有自己的迭代器,类似指针,但不单是指针

vector容器

vector的基本操作:

判断vector中是否存在某个元素:

寻找元素在vector中的位置:

max_element(begin, end)返回列表中最大值的下标位置,前面加*为取值

min_element(begin, end)返回列表中最小值的下标位置,前面加*为取值

string容器

基本概念

构造函数

赋值操作

字符串拼接

string操作

栈操作stack

stack<数据类型>
push(): 向栈内压入一个成员;
emplace():与push功能一样:
两者区别:
对于int、double等内置数据类型而言,push()和emplace()是相同的
对于自定义数据类型而言,使用push()前必须先将要添加的对象构造出来(实例化),而使用emplace()既可以填入实例化的对象也可以填入对象的构造参数
pop(): 从栈顶弹出一个成员;
empty(): 如果栈为空返回true,否则返回false;
top(): 返回栈顶,但不删除成员;
size(): 返回栈内元素的大小;

unordered_set容器

基本概念

建立哈希集

插入操作

删除操作

核心功能:搜索

如果存在就返回1

哈希集的主要功能是:验证一个键是否已经在哈希集里注册过

find函数

遍历哈希集

unordered_map容器

基本概念

建立哈希集

插入键值对

hashmap.insert()一般和make_pair一起使用

删除

搜索键值对

遍历

emplace函数的使用

基本概念

用法

特性

代码演示

emplace函数的参数根据元素类型而变化,参数必须与元素类型的构造函数相匹配

总结

emplace函数在容器中直接构造元素,传递给emplace函数的参数必须与元素类型的构造函数相匹配