17 标准模板库STL之list

基础知识

        1、list是由双向链表实现的,这也意味着,其内存空间是不连续的。因此,list不支持随机访问,没有提供[]操作符重载和at()函数,迭代器只能进行++和--操作,不能进行+n和-n操作。由于底层使用链表实现,list在任意位置插入和移除元素都非常高效。list适用于需要经常进行插入和移除操作,但不需要经常随机访问的应用场景。

        2、与vector不同,list没有内存空间预分配机制,也没有提供capacity()和reserve()函数。每插入一个元素,都会从内存中直接分配;每移除一个元素,都会直接释放它占用的内存。

        3、使用list前,需要先包含其头文件。

#include <list>
using namespace std;

        list容器提供的主要接口可以参看下表。

接口

备注

size()

返回list中的元素个数

empty()

判断lis

猜你喜欢

转载自blog.csdn.net/hope_wisdom/article/details/130186338
今日推荐