c++中的链表list

前言

c++里面的list容器,真的是链表实现,中间元素的插入和删除是 O ( 1 ) O(1) O(1) 时间复杂度的。有必要了解一下它的基本用法。

代码

cpp 复制代码
#include <list>
#include <iostream>


using namespace std;


int main()
{
    list<int> lst{1,3,4,2};
    auto it  = lst.begin();
    it++;

    // 插入元素
    lst.insert(it, {20,30,40}); // 插入到第2个位置
    for(auto item : lst) cout << item << " "; cout << endl; /*[ 1 20 30 40 3 4 2 ]*/

    // 按位置删除元素
    it =  lst.begin();
    advance(it, 1); // 删除第2个元素
    lst.erase(it); 
    for(auto item : lst) cout << item << " "; cout << endl; /*[ 1 30 40 3 4 2 ]*/


    // 按值删除元素
    lst.remove(2); // 删除所有为2的元素
    for(auto item : lst) cout << item << " "; cout << endl; /*[ 1 30 40 3 4 ]*/


    return 0;
}

结果

复制代码
1 20 30 40 3 4 2 
1 30 40 3 4 2
1 30 40 3 4
相关推荐
工藤新一¹16 分钟前
蓝桥杯算法题 -蛇形矩阵(方向向量)
c++·算法·矩阵·蓝桥杯·方向向量
康康这名还挺多37 分钟前
鸿蒙HarmonyOS list优化一: list 结合 lazyforeach用法
数据结构·list·harmonyos·lazyforeach
fallzzzzz2 小时前
C++ stl中的list的相关函数用法
c++·list
_星辰大海乀3 小时前
数据库约束
java·数据结构·数据库·sql·链表
悦悦子a啊3 小时前
PTA:jmu-ds-最短路径
c++·算法·图论
小王努力学编程4 小时前
高并发内存池(三):TLS无锁访问以及Central Cache结构设计
jvm·数据结构·c++·学习
字节高级特工6 小时前
【C++】”如虎添翼“:模板初阶
java·c语言·前端·javascript·c++·学习·算法
.Vcoistnt6 小时前
Codeforces Round 1024 (Div. 2)(A-D)
数据结构·c++·算法·贪心算法·动态规划·图论
越甲八千6 小时前
MFC listctrl修改背景颜色
c++·mfc
炯哈哈6 小时前
【上位机——MFC】序列化机制
开发语言·c++·mfc·上位机