STL系列(1):简介

来源:互联网 发布:幻萌网络有几个游戏 编辑:程序博客网 时间:2024/06/05 20:09
C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列), lists(链表), 和 stacks(栈)等. 

C++ STL 提供给程序员以下三类数据结构的实现: 

1.  顺序性容器 

1) vector 从后面快速的插入与删除,可直接访问任何元素 

2) deque 从前面或后面快速的插入与删除,直接访问任何元素 

3) list 双链表,从任何地方快速插入与删除  

2. 关联容器  

1) set 快速查找,不允许重复值 

2) multiset 快速查找,允许重复值 

3) map 一对多映射,基于关键字快速查找,不允许重复值 

4) multimap 一对多映射,基于关键字快速查找,允许重复值  

3. 顺序容器适配器 

1) stack 后进先出 

2) queue 先进先出 

3) priority_queue 最高优先级元素总是第一个出列  


程序员使用复杂数据结构的最困难的部分已经由STL完成. 如果程序员想使用包含int数据的stack, 他只要写出如下的代码: 

stack<int> stacka; 

接下来, 他只要简单的调用 push() 和 pop() 函数来操作栈. 借助 C++ 模板的威力, 他可以指定任何的数据类型,不仅仅是int类型.  STL stack实现了栈的功能,而不管容纳的是什么数据类型. 
0 0