list容器的底层结构(详述insert()与erase())

  • Post author:
  • Post category:其他



目录


一、带头结点的双向循环链表(list)


二、贯穿list容器的insert与erase接口​编辑


一、带头结点的双向循环链表(list)

二、贯穿list容器的insert与erase接口


通过在

指定位置的元素之前插入

新元素来扩展容器。

这有效地增加了插入的元素数量的列表大小。

与其他标准序列容器不同,list和forward_list对象专门设计用于在任何位置高效插入和删除元素,即使是在序列的中间。

参数决定了插入的元素数量以及初始化的值:





指向新插入的第一个元素的迭代器。


成员类型迭代器是指向元素的双向迭代器类型。

新元素的存储使用容器的分配器分配,这可能会在失败时引发异常(对于默认分配器,如果分配请求不成功,则会引发bad_alloc)。

图解


从列表容器中删除单个元素(位置)或一系列元素([first,last))。

这有效地减少了容器的尺寸,减少了被破坏的元件的数量。

与其他标准序列容器不同,list和forward_list对象专门设计用于在任何位置高效插入和删除元素,即使是在序列的中间。


一个迭代器,

指向函数调用删除的最后一个元素之后的元素。

如果操作删除了序列中的最后一个元素,则这是容器结束。

成员类型迭代器是指向元素的双向迭代器类型。

图解



版权声明:本文为weixin_66151870原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。