探秘 C++ list:在复杂数据管理的编程世界里,它宛如灵动的魔法链条,高效实现元素频繁增删,有序维系数据秩序,无论是海量动态数据缓存、游戏角色属性集处理,还是复杂任务调度编排

探秘 C++ list:在复杂数据管理的编程世界里,它宛如灵动的魔法链条,高效实现元素频繁增删,有序维系数据秩序,无论是海量动态数据缓存、游戏角色属性集处理,还是复杂任务调度编排

 🌟个人主页:落叶

 🌟当前专栏:C++专栏

目录

list的介绍及使用

list的介绍

list的使用 

list的构造

 构造的list中包含n个值为val的 元素

 构造空的list

拷贝构造函数

 用[first, last)区间中的元素构造 list

list iterator的使用 

【begin+end】

【rbegin+ rend】反向迭代器

 list capacity

【empty】检测list是否为空

【size 】返回list中有效节点的个数

 list element access

【front】返回list的第一个节点中值的引用

【back 】返回list的最后一个节点中值的引用 

 list modifiers

【push_front】在list首元素前插入值为val的元素

【pop_front】删除list中第一个元素

【push_back】在list尾部插入值为val的元素

【pop_back】删除list中最后一个元素、

【insert】在list position 位置中插入值为val的元素

【erase】删除list position位置的元素

【swap】交换两个list中的元素

 【clear】清空list中的有效元素

 list的迭代器失效

 list的模拟实现

模拟实现list

list.h

list的反向迭代器

list与vector的对比

迭代器(单向迭代器-双向迭代器-随机访问迭代器)

单向迭代器

双向迭代器 

 随机访问迭代器


list的介绍及使用

list的介绍

list底层就是一个双向循环链表

forward_list底层是单链表,用法都差不多一样。

list的使用 

list中的接口比较多,此处类似,只需要掌握如何正确的使用,然后再去深入研究背后的原理,已 达到可扩展的能力。以下为list中一些常见的重要接口。

list的构造

构造函数( (constructor))接口说明
list (size_type n, const value_type& val = value_type())构造的list中包含n个值为val的 元素
list()构造空的list
list (const list& x)拷贝构造函数
list (InputIterator first, InputIterator last)用[first, last)区间中的元素构造 list
 构造的list中包含n个值为val的 元素

构造了10个1的元素


 构造空的list

空构造,也会构造一个哨兵位节点,方便后面插入数值。

不管是空构造还是构造有元素的,都会构造一个哨兵位节点。

list<int> li;

拷贝构造函数

下面我们可以看到,li拷贝构造给li2


 用[first, last)区间中的元素构造 list

也就是用迭代器区间构造list

begin从li的第一个位置的元素开始,到end最后一个位置的元素,构造给li2


list iterator的使用 

函数声 明接口说明
begin + end返回第一个元素的迭代器+返回最后一个元素下一个位置的迭代器
rbegin + rend返回第一个元素的reverse_iterator,即end位置,返回最后一个元素下一个位 置的reverse_iterator,即begin位置

 begin是在1这个位置,end是在哨兵位。

【注意】 1. begin与end为正向迭代器,对迭代器执行++操作,迭代器向后移动 2. rbegin(end)与rend(begin)为反向迭代器,对迭代器执行++操作,迭代器向前移动。

【begin+end】

下面从begin位置开始打印,end位置结束。


【rbegin+ rend】反向迭代器

begin就是指向最后一个位置的元素。

end就是指向第一个位置的元素。


 list capacity

函数声明接口说明
empty检测list是否为空,是返回true,否则返回false
size返回list中有效节点的个数

【empty】检测list是否为空

是空返回true,不是空就返回false.

下面我们可以看到,不是空返回false,就是0,是空返回true就是1. 

【size 】返回list中有效节点的个数

下面我们可以看到,有效个数是7,就是有7个元素。


 list element access

函数声明接口说明
front返回list的第一个节点中值的引用
back返回list的最后一个节点中值的引用

Read more

Kylin/Linux 服务器健康一键巡检工具

Kylin/Linux 服务器健康一键巡检工具

这份脚本是面向 Kylin V10SP2/CentOS/Ubuntu 等主流 Linux 发行版的全维度服务器健康巡检工具,一站式检测网卡 / 网络连通性 / DNS 解析 / 系统资源 / 安全基线 / 时间同步 / 硬件健康 / 系统更新 / 进程负载 / 系统日志 / 内核参数等 11 大类核心状态,并自动保存巡检日志、输出可视化汇总报告;巡检结果如下: ╔════════════════════════════════════════════════════════════╗ ║ 🚀 Kylin/Linux 服务器健康一键巡检工具 v3.0.0 ║ ╚════════════════════════════════════════════════════════════╝ 📅 巡检时间 :2026-02-25 23:05:26 🖥️ 主机名称 :192.168.1.10 📦 系统版本 : Kylin Linux Advanced Server V11 (Swan25) 🐧 内核版本 :6.

By Ne0inhk
Windowns系统WSL2 Ubuntu 方式部署Openclaw

Windowns系统WSL2 Ubuntu 方式部署Openclaw

这是官方推荐的 Windows 部署方式,提供最完整的 Linux 环境支持。 好消息!近期找到个更简单部署方法,通过镜像还原方式,适合想快速部署或零基础的! 【Openclaw安装别再花冤枉钱了!零基础镜像还原法,一次成功-哔哩哔哩】 https://b23.tv/iH4usWS 准备:启用适用于Linux的Windows子系统和虚拟化平台,重启电脑。 1. 启用 WSL2 以管理员 身份打开 PowerShell,执行: # 启用 WSL 功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 设置 WSL 2 为默认版本,

By Ne0inhk
【Linux】Linux 地址空间 + 页表映射的概念解析

【Linux】Linux 地址空间 + 页表映射的概念解析

前言:欢迎各位光临本博客,这里小编带你直接手撕**,文章并不复杂,愿诸君**耐其心性,忘却杂尘,道有所长!!!! IF’Maxue:个人主页  🔥 个人专栏: 《C语言》 《C++深度学习》 《Linux》 《数据结构》 《数学建模》 ⛺️生活是默默的坚持,毅力是永久的享受。不破不立! 文章目录 * Linux线程解析 * 一、进程与线程的核心区别 * 二、地址空间:线程共享的“窗口” * 三、线程的本质:多执行流并行 * 四、Linux为什么用进程模拟线程? * 五、其他平台的线程实现 * 六、Linux线程的调度与称呼 * 七、资源划分:共享与独占 * 八、物理内存管理:4KB页框 * 页框的地址计算 * 申请物理内存的本质 * 九、虚拟地址与页表映射 * 32位虚拟地址的划分(经典两级页表)

By Ne0inhk
【Linux】网络基础(一)

【Linux】网络基础(一)

文章目录 * 网络发展 * 认识协议 * 🚩网络协议 * 🚩协议分层 * OSI七层协议 * 🚩TCP/IP五层(四层)协议 * 🚩网络传输基本流程 * 🚩数据包的封装和解包 * MAC地址 网络发展 起初计算机是用在军事上的 独立模式: 计算机之间相互独立 网络互联:多台计算机连接在一起实现网络互联 局域网LAN:计算机数量越来越多了,通过交换机和路由器连接在一起 广域网WAN:将远隔千里之外的的计算机连接在一起 所谓局域网广域网是相对概念,我们家庭路由器就可以看作局域网,把家家户户连接的社区就是广域网。社区看作局域网,把社区连接的就是广域网,中国网络看作局域网,连接世界就是广域网 认识协议 协议是一种约定 计算机之间通过光信号电信号交流,通过频率强弱来代表0和1,要想传递不同信息,就要约定好数据格式,比如000代表什么信息 要想多台计算机之间相互通信,就要约定共同的标准,这就是网络协议 🚩网络协议 🚩协议分层 打电话的例子,语言层汉语有协议,通信设备层也有协议 英语之间交流

By Ne0inhk