list(双向链表)

1.特征:
(1)非连续内存,每个节点含前驱 / 后继指针;
(2)任意位置插入 / 删除 O (1)(只需修改指针);
2.适用场景:
频繁在任意位置插入 / 删除(如链表结构的业务、频繁修改的列表)
3.常用操作:
#include <list>
list<int> l = {1,2,3};
auto it = l.begin();
advance(it, 1);    // 移动迭代器到第2个元素(无[]访问)
l.insert(it, 5);   // 插入到it前
l.erase(it);       // 删除it指向的元素
l.splice(l.begin(), l, it); // 拼接(链表特有,高效移动元素)
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务