ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-01-10 23:31:34  阅读:169  来源: 互联网

标签:容器 set string deque STL list C++ vector 模板


 

 

2.迭代器种类

一.string容器

(一)vector

1.容器之vector

 

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

 

3.vector容器嵌套容器

 

(二)string

1.string容器

 

 

 

2.string赋值操作

 

 

 

3.字符串拼接 

 

 

4.字符串查找与替换

 

 

5.string字符串比较

 

6.string字符存取

 

7.string插入和删除

 

8.string子串

 

二.vector容器

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

 

 

 

2.vector赋值

 

 

3.vector容量和大小

 

 

4.vector插入和删除

 

 

 

5.vector数据存取

 

  

 

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

 

 

 

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

 

7.vector预留空间

 

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

 

三. deque容器

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

 

1.deque构造函数

与vector的基本一致。

 

 

 

2.deque赋值

与vector的基本相同。

 

3.deque大小操作

 

4.deque插入与删除

 

5.deque数据存取

 

6.deque排序

 

 

举例:

 

四.stack 栈容器

 

1.stack常用接口

 

 

五.queue 队列容器

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

 

1.queue常用接口

 

 

 

六.list 链表容器

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

1.list构造函数

 

 

 

 

2.list赋值与交换

 

 

3.list大小操作

 

 

4.list插入与删除

 

5.list数据存取

 

 

6.list反转和排序

 

排序案例

 

 

七.set/multiset容器

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

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

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

1.set构造与赋值

 

 

 

 

 

 

2.set大小与交换

 

3.set插入与删除

 

4.set查找与统计

 

 

5.set与multiset区别

 

6.pair对组创建

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

 

 

7.set容器排序

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

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

 

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

 

八.map与multimap

1.map构造与赋值

 

 

2.map大小与交换

 

 

3.map插入与删除

 

4.map查找与统计

 

 

 

 

5.map容器排序

 

 

 

举例:

标签:容器,set,string,deque,STL,list,C++,vector,模板
来源: https://blog.csdn.net/qq_39938666/article/details/112451734

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有