c++list容器
链表容器,数据进行链式存储
链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的,链表由一系列结点组成,每个节点由一个是存储数据元素的数据域和存储下一个结点地址的指针域组成,链表有单向链表,双向链表,循环链表,STL标准模板库(Standard Template Library)中的链表是一个双向循环链表,可以两个方向单向便利链表中的数据,链表的end的后向指针指向begin,begin的前向指针指向end

因为链表的存储并不是连续的空间,所以他的迭代器只能前向后向移动,并不能任意移动,是双向迭代器,同时缺点是使用内存很大,并且便利慢,好处是内存不会泄露和浪费,并且删除增加非常快。
同时注意,在list中的插入和删除并不会影响已有的迭代器,而像是vector这种的删除和插入会影响已有的迭代器,因为迭代器本身可以看成是一个指针,而vector会有重开辟空间的行动,所以此时原有的迭代器回失效,而list中相关操作不会对其他的内存空间造成影响。
list最大的好处实际就是各个数据空间之间的相对独立性

浙公网安备 33010602011771号