双向链表: list 双向的链表。所以,适用于常常性的增删元素。常量时间 便可完成(在找到合适的插入位置的前提下)。不适合于 大量的查询操做,线性时间完成。由于不支持随机存取。 API #include <list> 构造: 默认构造:list<T>::list() ,生成一个空双向链表 增删 void push_front(T) void pop_front(); void push_back(T) void pop_back(); void insert(list<T>::iterator pos,const T&elem); //在pos前插入elem void erase(a,b); //删除[a,b)区间的元素 任意位置增删元素,都是常量时间。 改: void resize(size_t len); 显示地改变容器的大小。既可变大,也可变小。 排: 查: size_t size(); 查看容器的当前元素个数。 bool empty()const; T& front() const T& front()const ; T& back(); const T& back()const; 是否可随机存取? 否 支持双向迭代器 支持insert接口? 全部的STL容器都有至少一个insert版本