list 容器在 C++ 标准模板库(STL)中是一种非常灵活的数据结构,它基于双向链表实现,因此可以在序列中的任意位置进行高效的插入和删除操作。在 list 中,元素不是连续存储在内存中的,而是由节点组成,每个节点包含数据和一个指向下一个节点以及上一个节点的指针。这种结构使得 list 在处理动态数据时特别有用。
插入操作
list 提供了多种插入元素的方式,可以根据需求在容器的不同位置插入元素。
1. 在尾部插入元素
使用 push_back 成员函数可以在 list 的尾部插入一个元素。
在头部插入元素
使用 push_front 成员函数可以在 list 的头部插入一个元素。
在指定位置插入元素
使用 insert 成员函数可以在 list 的指定位置插入一个或多个元素。insert 函数接受一个迭代器指向要插入位置的前一个元素,以及一个或多个要插入的元素。
插入一个范围内的元素
insert 成员函数还可以接受一对迭代器,表示一个元素范围,并将该范围内的所有元素插入到 list 的指定位置。
删除操作
list 提供了多种删除元素的方式,可以根据需求删除特定的元素或元素范围。
1. 删除指定位置的元素
使用 erase 成员函数可以删除 list 中指定位置的元素。erase 接受一个指向要删除元素的迭代器。