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

C++学习笔记 (五)标准模板库STL之容器_第1张图片

 

C++学习笔记 (五)标准模板库STL之容器_第2张图片

 

C++学习笔记 (五)标准模板库STL之容器_第3张图片

2.迭代器种类

C++学习笔记 (五)标准模板库STL之容器_第4张图片

一.string容器

(一)vector

1.容器之vector

C++学习笔记 (五)标准模板库STL之容器_第5张图片

C++学习笔记 (五)标准模板库STL之容器_第6张图片

C++学习笔记 (五)标准模板库STL之容器_第7张图片

C++学习笔记 (五)标准模板库STL之容器_第8张图片

 

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

C++学习笔记 (五)标准模板库STL之容器_第9张图片

C++学习笔记 (五)标准模板库STL之容器_第10张图片

C++学习笔记 (五)标准模板库STL之容器_第11张图片

 

3.vector容器嵌套容器

C++学习笔记 (五)标准模板库STL之容器_第12张图片

C++学习笔记 (五)标准模板库STL之容器_第13张图片

 

(二)string

1.string容器

C++学习笔记 (五)标准模板库STL之容器_第14张图片

C++学习笔记 (五)标准模板库STL之容器_第15张图片

 

 

C++学习笔记 (五)标准模板库STL之容器_第16张图片

 

2.string赋值操作

C++学习笔记 (五)标准模板库STL之容器_第17张图片

 C++学习笔记 (五)标准模板库STL之容器_第18张图片

C++学习笔记 (五)标准模板库STL之容器_第19张图片

 

 

3.字符串拼接 

C++学习笔记 (五)标准模板库STL之容器_第20张图片

C++学习笔记 (五)标准模板库STL之容器_第21张图片

C++学习笔记 (五)标准模板库STL之容器_第22张图片

 

 

4.字符串查找与替换

C++学习笔记 (五)标准模板库STL之容器_第23张图片

C++学习笔记 (五)标准模板库STL之容器_第24张图片

C++学习笔记 (五)标准模板库STL之容器_第25张图片

 

C++学习笔记 (五)标准模板库STL之容器_第26张图片

 

5.string字符串比较

C++学习笔记 (五)标准模板库STL之容器_第27张图片

C++学习笔记 (五)标准模板库STL之容器_第28张图片

C++学习笔记 (五)标准模板库STL之容器_第29张图片

 

6.string字符存取

C++学习笔记 (五)标准模板库STL之容器_第30张图片

C++学习笔记 (五)标准模板库STL之容器_第31张图片

C++学习笔记 (五)标准模板库STL之容器_第32张图片

 

7.string插入和删除

C++学习笔记 (五)标准模板库STL之容器_第33张图片

C++学习笔记 (五)标准模板库STL之容器_第34张图片

C++学习笔记 (五)标准模板库STL之容器_第35张图片

 

8.string子串

C++学习笔记 (五)标准模板库STL之容器_第36张图片

C++学习笔记 (五)标准模板库STL之容器_第37张图片

C++学习笔记 (五)标准模板库STL之容器_第38张图片

 

二.vector容器

注: vector data()的用法

C++学习笔记 (五)标准模板库STL之容器_第39张图片

 

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

C++学习笔记 (五)标准模板库STL之容器_第40张图片

 

C++学习笔记 (五)标准模板库STL之容器_第41张图片

 

C++学习笔记 (五)标准模板库STL之容器_第42张图片

C++学习笔记 (五)标准模板库STL之容器_第43张图片

 

2.vector赋值

C++学习笔记 (五)标准模板库STL之容器_第44张图片

 

C++学习笔记 (五)标准模板库STL之容器_第45张图片

C++学习笔记 (五)标准模板库STL之容器_第46张图片

 

3.vector容量和大小

C++学习笔记 (五)标准模板库STL之容器_第47张图片

 

C++学习笔记 (五)标准模板库STL之容器_第48张图片

C++学习笔记 (五)标准模板库STL之容器_第49张图片

 

4.vector插入和删除

C++学习笔记 (五)标准模板库STL之容器_第50张图片

C++学习笔记 (五)标准模板库STL之容器_第51张图片

 

 

C++学习笔记 (五)标准模板库STL之容器_第52张图片

C++学习笔记 (五)标准模板库STL之容器_第53张图片

 

5.vector数据存取

C++学习笔记 (五)标准模板库STL之容器_第54张图片

C++学习笔记 (五)标准模板库STL之容器_第55张图片

 

  C++学习笔记 (五)标准模板库STL之容器_第56张图片

 

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

C++学习笔记 (五)标准模板库STL之容器_第57张图片

C++学习笔记 (五)标准模板库STL之容器_第58张图片

C++学习笔记 (五)标准模板库STL之容器_第59张图片

 

 

 

C++学习笔记 (五)标准模板库STL之容器_第60张图片

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

 

7.vector预留空间

C++学习笔记 (五)标准模板库STL之容器_第61张图片

C++学习笔记 (五)标准模板库STL之容器_第62张图片

C++学习笔记 (五)标准模板库STL之容器_第63张图片

 

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

 

三. deque容器

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

C++学习笔记 (五)标准模板库STL之容器_第64张图片

C++学习笔记 (五)标准模板库STL之容器_第65张图片

 

1.deque构造函数

与vector的基本一致。

C++学习笔记 (五)标准模板库STL之容器_第66张图片

 

 

C++学习笔记 (五)标准模板库STL之容器_第67张图片

C++学习笔记 (五)标准模板库STL之容器_第68张图片

 

2.deque赋值

与vector的基本相同。

C++学习笔记 (五)标准模板库STL之容器_第69张图片

C++学习笔记 (五)标准模板库STL之容器_第70张图片

 

3.deque大小操作

C++学习笔记 (五)标准模板库STL之容器_第71张图片

C++学习笔记 (五)标准模板库STL之容器_第72张图片

C++学习笔记 (五)标准模板库STL之容器_第73张图片

 

4.deque插入与删除

C++学习笔记 (五)标准模板库STL之容器_第74张图片

C++学习笔记 (五)标准模板库STL之容器_第75张图片

C++学习笔记 (五)标准模板库STL之容器_第76张图片

C++学习笔记 (五)标准模板库STL之容器_第77张图片

 

5.deque数据存取

C++学习笔记 (五)标准模板库STL之容器_第78张图片

C++学习笔记 (五)标准模板库STL之容器_第79张图片

C++学习笔记 (五)标准模板库STL之容器_第80张图片

 

6.deque排序

C++学习笔记 (五)标准模板库STL之容器_第81张图片

C++学习笔记 (五)标准模板库STL之容器_第82张图片

 

 

举例:

C++学习笔记 (五)标准模板库STL之容器_第83张图片

C++学习笔记 (五)标准模板库STL之容器_第84张图片

C++学习笔记 (五)标准模板库STL之容器_第85张图片

C++学习笔记 (五)标准模板库STL之容器_第86张图片

C++学习笔记 (五)标准模板库STL之容器_第87张图片

 

四.stack 栈容器

C++学习笔记 (五)标准模板库STL之容器_第88张图片

C++学习笔记 (五)标准模板库STL之容器_第89张图片

 

1.stack常用接口

C++学习笔记 (五)标准模板库STL之容器_第90张图片

C++学习笔记 (五)标准模板库STL之容器_第91张图片

C++学习笔记 (五)标准模板库STL之容器_第92张图片

 

 

五.queue 队列容器

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

C++学习笔记 (五)标准模板库STL之容器_第93张图片

C++学习笔记 (五)标准模板库STL之容器_第94张图片

 

1.queue常用接口

C++学习笔记 (五)标准模板库STL之容器_第95张图片

 

 

C++学习笔记 (五)标准模板库STL之容器_第96张图片

C++学习笔记 (五)标准模板库STL之容器_第97张图片

C++学习笔记 (五)标准模板库STL之容器_第98张图片

 

六.list 链表容器

C++学习笔记 (五)标准模板库STL之容器_第99张图片

C++学习笔记 (五)标准模板库STL之容器_第100张图片

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

C++学习笔记 (五)标准模板库STL之容器_第101张图片

C++学习笔记 (五)标准模板库STL之容器_第102张图片

1.list构造函数

C++学习笔记 (五)标准模板库STL之容器_第103张图片

 

 

 

C++学习笔记 (五)标准模板库STL之容器_第104张图片

C++学习笔记 (五)标准模板库STL之容器_第105张图片

 

2.list赋值与交换

C++学习笔记 (五)标准模板库STL之容器_第106张图片

 

C++学习笔记 (五)标准模板库STL之容器_第107张图片

C++学习笔记 (五)标准模板库STL之容器_第108张图片

C++学习笔记 (五)标准模板库STL之容器_第109张图片

 

3.list大小操作

C++学习笔记 (五)标准模板库STL之容器_第110张图片

 

C++学习笔记 (五)标准模板库STL之容器_第111张图片

C++学习笔记 (五)标准模板库STL之容器_第112张图片

 

4.list插入与删除

C++学习笔记 (五)标准模板库STL之容器_第113张图片

C++学习笔记 (五)标准模板库STL之容器_第114张图片

C++学习笔记 (五)标准模板库STL之容器_第115张图片

C++学习笔记 (五)标准模板库STL之容器_第116张图片

 

5.list数据存取

C++学习笔记 (五)标准模板库STL之容器_第117张图片

C++学习笔记 (五)标准模板库STL之容器_第118张图片

 

 

6.list反转和排序

C++学习笔记 (五)标准模板库STL之容器_第119张图片

C++学习笔记 (五)标准模板库STL之容器_第120张图片

C++学习笔记 (五)标准模板库STL之容器_第121张图片

 

排序案例

C++学习笔记 (五)标准模板库STL之容器_第122张图片

C++学习笔记 (五)标准模板库STL之容器_第123张图片

C++学习笔记 (五)标准模板库STL之容器_第124张图片

 

 

七.set/multiset容器

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

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

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

1.set构造与赋值

C++学习笔记 (五)标准模板库STL之容器_第125张图片

C++学习笔记 (五)标准模板库STL之容器_第126张图片

C++学习笔记 (五)标准模板库STL之容器_第127张图片

 

 

 

 

 

 

2.set大小与交换

C++学习笔记 (五)标准模板库STL之容器_第128张图片

C++学习笔记 (五)标准模板库STL之容器_第129张图片

C++学习笔记 (五)标准模板库STL之容器_第130张图片

C++学习笔记 (五)标准模板库STL之容器_第131张图片

 

3.set插入与删除

C++学习笔记 (五)标准模板库STL之容器_第132张图片

C++学习笔记 (五)标准模板库STL之容器_第133张图片

C++学习笔记 (五)标准模板库STL之容器_第134张图片

 

4.set查找与统计

C++学习笔记 (五)标准模板库STL之容器_第135张图片

C++学习笔记 (五)标准模板库STL之容器_第136张图片

 

 

5.set与multiset区别

C++学习笔记 (五)标准模板库STL之容器_第137张图片

C++学习笔记 (五)标准模板库STL之容器_第138张图片

C++学习笔记 (五)标准模板库STL之容器_第139张图片

 

6.pair对组创建

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

C++学习笔记 (五)标准模板库STL之容器_第140张图片

C++学习笔记 (五)标准模板库STL之容器_第141张图片

 

 

7.set容器排序

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

C++学习笔记 (五)标准模板库STL之容器_第142张图片

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

C++学习笔记 (五)标准模板库STL之容器_第143张图片

 

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

C++学习笔记 (五)标准模板库STL之容器_第144张图片

C++学习笔记 (五)标准模板库STL之容器_第145张图片

C++学习笔记 (五)标准模板库STL之容器_第146张图片

 

八.map与multimap

C++学习笔记 (五)标准模板库STL之容器_第147张图片

1.map构造与赋值

C++学习笔记 (五)标准模板库STL之容器_第148张图片

 

C++学习笔记 (五)标准模板库STL之容器_第149张图片

C++学习笔记 (五)标准模板库STL之容器_第150张图片

 

2.map大小与交换

C++学习笔记 (五)标准模板库STL之容器_第151张图片

 

C++学习笔记 (五)标准模板库STL之容器_第152张图片

C++学习笔记 (五)标准模板库STL之容器_第153张图片

C++学习笔记 (五)标准模板库STL之容器_第154张图片

 

3.map插入与删除

C++学习笔记 (五)标准模板库STL之容器_第155张图片

C++学习笔记 (五)标准模板库STL之容器_第156张图片

C++学习笔记 (五)标准模板库STL之容器_第157张图片

C++学习笔记 (五)标准模板库STL之容器_第158张图片

 

4.map查找与统计

C++学习笔记 (五)标准模板库STL之容器_第159张图片

 

 

 

C++学习笔记 (五)标准模板库STL之容器_第160张图片

 

5.map容器排序

C++学习笔记 (五)标准模板库STL之容器_第161张图片

 

C++学习笔记 (五)标准模板库STL之容器_第162张图片

C++学习笔记 (五)标准模板库STL之容器_第163张图片

 

C++学习笔记 (五)标准模板库STL之容器_第164张图片

 

举例:

C++学习笔记 (五)标准模板库STL之容器_第165张图片

C++学习笔记 (五)标准模板库STL之容器_第166张图片

C++学习笔记 (五)标准模板库STL之容器_第167张图片

C++学习笔记 (五)标准模板库STL之容器_第168张图片

C++学习笔记 (五)标准模板库STL之容器_第169张图片

你可能感兴趣的:(C++)