STL入门之容器

一、STL介绍

引用维基百科的介绍,标准模板库(英文:Standard Template Library,缩写:STL),是一个C++软件库,大量影响C++标准程序库但并非是其的一部分。 其中包含4个组件,分别为算法、容器、函数、迭代器

二、容器

分顺序容器、关联容器两类

2.1 顺序容器

1.vector:可变大小数组,支持快速随机访问,在除尾部的其他地方插入或者删除元素可能都很慢

2.list:双向链表,只支持双向顺序访问,在任何位置插入、删除操作都比较快

3.deque:双端队列,支持快速随机访问,在头/尾部插入/删除速度很快

4.string:与vector类似,不过专门用来保存字符

5.array:固定大小数组,支持快速随机访问,不能添加/删除元素

  array虽然操作跟内置数组类型类似,但是速度快很多,实际编程中应尽量使用标准容器库

从以上容器及其对应操作不难看出,STL 就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离。数据结构对应了容器,泛型算法就对应了数据结构的算法。

2.2关联容器

1.map:关联数组,保存关键字-值对

2.set:关键字即值,只保存关键字的容器

学习了python之后,根据容器本身性质及算法不难将以上的容器联想到python的内置数据类型 

STL容器跟python类型对应
STL容器python类型
vectorlist
stringstring
mapdict
setset

由于python没有指针,链表这一大类数据结构都是要自己定义的。

 实际使用中,在没有特定限制下,vector优先考虑。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值