C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

2.迭代器种类

C++学习笔记 (五)标准模板库STL之容器

一.string容器

(一)vector

1.容器之vector

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

2.vector容器中存放自定义数据类型

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

3.vector容器嵌套容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

(二)string

1.string容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

2.string赋值操作

C++学习笔记 (五)标准模板库STL之容器

 C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

3.字符串拼接 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

4.字符串查找与替换

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

 

5.string字符串比较

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

6.string字符存取

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

7.string插入和删除

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

8.string子串

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

二.vector容器

1.vector数据结构与数组非常相似,也称单端数组。不同的是,数组是静态空间,vector可以是动态扩展(动态扩展不是在原空间之后续接新空间,而是找更大的内存空间,然后把原数据拷贝到新空间,并释放原空间)。

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

2.vector赋值

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

3.vector容量和大小

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

4.vector插入和删除

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

5.vector数据存取

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

  C++学习笔记 (五)标准模板库STL之容器

 

6.vector互换容器(实现两个容器内元素的互换)

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

 

C++学习笔记 (五)标准模板库STL之容器

注:swap可以做两个容器互换,可达实用的收缩内存的效果

 

7.vector预留空间

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

注:如果数据量较大,可以一开始用reserve预留空间。

 

三. deque容器

是双端数组,可以对头端进行插入删除。

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

1.deque构造函数

与vector的基本一致。

C++学习笔记 (五)标准模板库STL之容器

 

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

2.deque赋值

与vector的基本相同。

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

3.deque大小操作

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

4.deque插入与删除

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

5.deque数据存取

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

6.deque排序

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

举例:

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

四.stack 栈容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

1.stack常用接口

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

五.queue 队列容器

只有队头与队尾能被外界访问,故不能遍历。

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

1.queue常用接口

C++学习笔记 (五)标准模板库STL之容器

 

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

六.list 链表容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

在STL中的链表都是双向循环链表

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

1.list构造函数

C++学习笔记 (五)标准模板库STL之容器

 

 

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

2.list赋值与交换

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

3.list大小操作

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

4.list插入与删除

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

5.list数据存取

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

6.list反转和排序

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

排序案例

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

七.set/multiset容器

所有元素在插入时都会自动被排序。

本质:都属于关联式容器,底层结构是用二叉树实现的。

二者区别:set不允许容器里有重复元素,multiset可以。

1.set构造与赋值

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

 

 

 

 

2.set大小与交换

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

3.set插入与删除

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

4.set查找与统计

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

5.set与multiset区别

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

6.pair对组创建

成对出现的数据,利用对组可以返回两个数据。

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

 

7.set容器排序

利用仿函数可以指定set容器的排序规则。

C++学习笔记 (五)标准模板库STL之容器

(1)内置类型指定排序规则

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

(2)自定义数据类型指定排序规则

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

八.map与multimap

C++学习笔记 (五)标准模板库STL之容器

1.map构造与赋值

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

2.map大小与交换

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

3.map插入与删除

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

4.map查找与统计

C++学习笔记 (五)标准模板库STL之容器

 

 

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

5.map容器排序

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

 

C++学习笔记 (五)标准模板库STL之容器

 

举例:

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

C++学习笔记 (五)标准模板库STL之容器

上一篇:【数据结构与算法】滑动窗口


下一篇:经典算法思想之滑动窗口