C++之list的用法介绍

C++之list的用法介绍

1)定义和初始化:

cpp 复制代码
#include <list>  
  
std::list<int> my_list;  // 定义一个整数类型的list  
  
std::list<std::string> my_other_list = {"apple", "banana", "cherry"};  // 初始化一个字符串类型的list

2)插入元素:

cpp 复制代码
// 在链表尾部插入元素  
my_list.push_back(1);  // 插入值为1的元素到链表尾部  
my_list.push_back(2);  // 插入值为2的元素到链表尾部  
  
// 在链表头部插入元素  
my_list.push_front(0);  // 插入值为0的元素到链表头部  
  
// 在指定位置插入元素  
my_list.insert(my_list.begin() + 3, 3);  // 在索引为3的位置插入值为3的元素

3)删除元素:

cpp 复制代码
// 删除指定位置的元素  
my_list.erase(my_list.begin() + 1);  // 删除索引为1的元素  
  
// 删除特定值的元素  
int to_delete = 2;  
my_list.remove(to_delete);  // 删除值为2的元素

4)访问元素:

cpp 复制代码
// 通过索引访问元素(从0开始)  
int first_element = my_list[0];  // 获取第一个元素的值,这里为0  
  
// 通过迭代器访问元素  
std::list<int>::iterator it = my_list.begin();  // 获取指向链表头部的迭代器  
int second_element = *it;  // 通过迭代器访问第二个元素的值,这里为1

5)其他操作:

list还支持其他一些操作,如交换两个链表、反转链表等。可以使用相应的成员函数进行操作。例如:

cpp 复制代码
std::list<int> list1, list2;  // 定义两个整数类型的list  
std::swap(list1, list2);  // 交换两个链表的内容
相关推荐
爱搞事的程小猿13 小时前
qml自定义扩展模块
c++·qt·qml
喜欢吃燃面13 小时前
基础算法:高精度
开发语言·c++·学习·算法
3GPP仿真实验室13 小时前
【Matlab源码】6G候选波形:OFDM-IM 增强仿真平台 GIM、MM、IQ
开发语言·网络·matlab
xuxie9913 小时前
【无标题】
java·开发语言
叫我一声阿雷吧13 小时前
【JS实战案例】实现图片懒加载(基础版)原生JS+性能优化,新手可直接复现
开发语言·javascript·性能优化·js图片懒加载
new_zhou13 小时前
Windows环境c++开发dump文件生成(优化方案)
c++·windows·qt
摇滚侠13 小时前
基于 session 的登录认证方式,基于 token 的登录认证方式,对比
java·开发语言·intellij-idea
北国13713 小时前
【Java】多线程输出滞后/错误解决&&线程创建方式与原理
java·开发语言
Coder_Boy_13 小时前
【Java核心】JVM核心知识清单
java·开发语言·jvm
你的冰西瓜13 小时前
C++中的queue容器详解
开发语言·c++·stl