C++--STL库-List
目录1.list 的基本使用1.1 创建和初始化1.2. 插入元素1.3. 删除元素1.4. 访问元素1.5 遍历1.6 总结list是C标准库STL中的双向链表容器属于list头文件。它的特点是动态大小可以随时插入或删除元素不需要手动管理内存。双向链表每个节点都连接前后两个节点支持双向遍历。高效插入删除插入和删除的时间复杂度是O(1)比vector快vector可能会移动大量元素。随机访问慢不像vector可以直接访问vec[i]list只能顺序遍历O(n)。1.list的基本使用1.1创建和初始化std::listint lst1; // 创建空 list std::listint lst2 {1, 2, 3, 4, 5}; // 用初始化列表创建 std::listint lst3(5, 100); // 创建 5 个元素每个值都为 100 std::listint lst4(lst2); // 拷贝构造1.2. 插入元素lst.push_back(10); // 尾部插入 10 lst.push_front(5); // 头部插入 5 auto it lst.begin(); std::advance(it, 2); // 迭代器前进 2 步 lst.insert(it, 99); // 在第 3 个位置插入 991.3. 删除元素lst.pop_back(); // 删除最后一个元素 lst.pop_front(); // 删除第一个元素 auto it lst.begin(); std::advance(it, 1); lst.erase(it); // 删除第二个元素 lst.remove(3); // 删除所有值为 3 的元素 lst.clear(); // 清空 list1.4. 访问元素std::cout lst.front(); // 访问第一个元素 std::cout lst.back(); // 访问最后一个元素1.5 遍历// 方式 1使用范围 for for (int num : lst) { std::cout num ; } // 方式 2使用迭代器 for (std::listint::iterator it lst.begin(); it ! lst.end(); it) { std::cout *it ; }1.6 总结区别vector动态数组list双向链表底层结构动态数组连续内存双向链表分散存储访问速度随机访问快 (O(1))随机访问慢 (O(n))插入删除尾部操作快 (O(1))中间插入/删除慢 (O(n))任意位置插入/删除快 (O(1))内存使用连续存储节省空间但可能需要扩容每个节点有额外指针开销内存占用较大遍历方式支持 []可用 、- 运算符只能用迭代器 或 --pair这是 C 标准库里的“对组”或“二元组”。它里面可以装两个不同类型的数据。比如pairint, string就是“一个整数 一个字符串”捆绑在一起。list这就是我们刚才聊的链表容器双向链表。合在一起listpairA, B意思就是——这个链表里每一个节点存储的数据不再是一个普通的数字而是一个“小包裹”pair。

相关新闻

S7-200 PLC与MCGS在污水处理液位控制中的应用

S7-200 PLC与MCGS在污水处理液位控制中的应用

1. 污水处理液位控制系统概述 在工业自动化领域,PLC控制系统因其稳定性和可靠性被广泛应用于各类过程控制场景。污水处理厂的液位控制就是一个典型案例,它需要精确控制不同处理池的液位高度,确保处理流程顺畅进行。S7-200系列PLC作为西门子的…

2026/11/15 12:14:47 阅读更多 →
八大网盘直链解析终极方案:告别限速,实现高效下载自由

八大网盘直链解析终极方案:告别限速,实现高效下载自由

八大网盘直链解析终极方案:告别限速,实现高效下载自由 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动…

2026/11/15 6:31:15 阅读更多 →
信息流广告的“AI临界点”已至:2024Q2起未部署动态创意生成(DCG)的账户将自动降权——附迁移路线图

信息流广告的“AI临界点”已至:2024Q2起未部署动态创意生成(DCG)的账户将自动降权——附迁移路线图

更多请点击: https://codechina.net 第一章:信息流广告的“AI临界点”已至:2024Q2起未部署动态创意生成(DCG)的账户将自动降权——附迁移路线图 2024年第二季度起,主流信息流广告平台(含Meta A…

2026/11/1 21:03:44 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻