C++ STL总结
STL概述 STL (Standard Template Library, 标准模板库) 是惠普实验室开发的一系列软件的统称。主要核心分为三大部分:容器(container)、算法(algorithm)和迭代器(iterator),另外还有容器适配器(container adaptor)和函数对象(functor)等其它标准组件。 容器: 顺序容器: 名称 特性 vector 模拟的数据结构式动态数组,在内存中是连续储存的,支持随机存取,支持在 尾部 快速插入和删除元素,搜索速度较慢 deque 称为双端队列,在内存中的储存方式是小片连续,每片之间用链表连接起来,支持随机存取,支持在 头部和尾部 快速插入和删除元素,搜索速度较慢 list 称为双向链表,在内存中的储存是不连续的,每个元素的内存之间用指针相连, 不支持 随机存取(因为要从首或尾遍历至指定位置),但是支持在 任意位置 快速插入和删除元素,搜索速度 最慢 ,扩展内存时无需复制和拷贝原元素 array 称为静态数组,在内存中是连续储存的,支持随机存取,不支持插入或删除元素 forward_list 称为前向链表,在内存中的储存是不连续的,同list一样支持在任意位置快速插入和删除元素,不支持随机存取,搜索速度也较慢,与list最大的区别在于其只能从头部遍历至尾部,不能反向遍历,因此没有保存后向指针,比list更省内存