Fork me on GitHub

STL——容器概述

在实际的开发过程中,数据结构本身的重要性完全不逊于算法的重要性,当程序中存在着对时间要求很高的部分时,数据结构的选择就显得更加重要。

 

试想:如同栈一样的一条死胡同里停车,这样的效率会很高吗?

 

经典的数据结构数量有限,但是在项目实战中,我们常常重复着一些为了存放不同数据结构类型而实现顺序表、链表等结构而重复编写的代码,这些代码都十分相似,只是为了适应不同数据类型的变化而在细节上有所出入。STL容器就为我们提供了这样的方便,它允许我们重复利用已有的实现,构造自己的特定类型下的数据结构,通过设置一些模板,STL容器对最常用的数据结构提供了支持,这些模板的参数允许我们指定容器中元素的数据类型,避免重复编码。

 

容器部分主要有:<vector>  <list>  <deque>  <set>  <map>  <stack>  <queue>组成。

 

下面是常用的一些容器,可以通过下表总结一下它们和相应头文件的对应关系。

 

vector 是将元素置于一个动态数组中加以管理的容器。

vector 可以随机存取元素,支持索引值直接存取,用 [] 操作符或 at[] 方法对元素进行操作。

vector 尾部添加或移除元素非常快捷,但是在中部或头部插入元素或移除元素会比较费时

 

posted @ 2020-04-07 01:54  索智源  阅读(182)  评论(0编辑  收藏  举报