STL(第三课):list

STL中的list是一个双向链表,它可以动态地将元素插入和删除,提供了许多方便的操作接口。下面我们来讲解一下C++STL list的相关内容。

list的创建比较简单,只需要包含头文件#include<list>,然后使用std::list模板即可声明一个list对象。

cpp 复制代码
#include <list>
using namespace std;

list<int> myList; //声明一个空的int类型list

基本操作:

cpp 复制代码
myList.push_back(value);   //在list后面添加一个元素
myList.push_front(value);  //在list前面添加一个元素
myList.pop_back();         //删除list后面的元素
myList.pop_front();        //删除list前面的元素
myList.insert(iter, value);//在指定位置插入一个元素
myList.erase(iter);        //删除指定位置的元素
myList.clear();            //清空list中所有元素

iter是一个迭代器,代表list中的某一个元素。

相关推荐
ShineWinsu2 小时前
对于C++:auto_ptr、unique_ptr、shared_ptr的模拟实现
c++·面试·笔试·智能指针·unique_ptr·shared_ptr·auto_ptr
hsjiasb2 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
丰锋ff3 小时前
3.1 Qt事件之事件处理器
开发语言·qt
多弗朗皮卡丘3 小时前
C语言梦开始的地方7:函数
c语言·开发语言
月华路3 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
XLYcmy4 小时前
京东 算法实习一面 下+手撕
c++·python·llm·概率论·数据处理·训练·codebert
gugucoding4 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
m0_380743874 小时前
从零调用 Claude 教程
开发语言·python·node.js
起床学FPGA4 小时前
AI回答问题之后,会自动跳到最下面的问题
开发语言·javascript·ecmascript
反转180度5 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt