STL库介绍

来源:互联网 发布:龙发装修 知乎 编辑:程序博客网 时间:2024/05/21 10:28

STL库主要由三部分组成:容器,迭代器和泛型算法, 由于STL是集面向对象设计,运算符重载,动态绑定,泛型设计等技术,容器里可存储任意类型的数据。

容器包含:string对象(可用来存储字符串) 

     序列化容器:

     array 数组 (固定长度的数组声明,不可动态变化,但是效率高,适用于确定长度的用途)

     vector 可动态增长的数组,当数组满时,会自行申请两倍的长度,连续的地址空间

     list    双链表 使用指针连接,不连续的内存地址空间

     deque 双向开口的连续线性地址空间,即头尾两端都可以进行元素的插入和删除

     stack  栈 ,后进先出

     queue 队列,先进先出

              priority_queue 优先队列

     关联式容器:

     1.set  (1-4 使用红黑树实现,set只有key)

     2.map   (pair(key,value),输出时是有序的)

     3.multiset  (key可重复)

     4.multimap

     5.hash_set(4-8 使用的是哈斯表实现,hash_set只有key)

     6.hash_map  (输出时是无序的)

     7.hash_multiset

     8.hash_multimap

迭代器:迭代器是一种smart-pointer 智能指针 

泛型算法:heap算法,数值算法,set相关算法(并集,交集,差集)....

原创粉丝点击