当前位置: 首页 > news >正文

C++STL-list

一.基础概念

相当于数据结构里面的双向链表

 

二.基础操作

1.list对象创建

 1. 默认构造函数list<int> l1;
2. 初始化列表

list<int> l2_1 = { 9,8,7,6,5 };

list<int> l2_2({ 9, 8, 7, 1, 5 });

3. 迭代器list <int> l3(l2_1.begin(), l2_1.end());
4. 全0初始化list<int> l4(8);
5. list<int> 变量名(a, b) 代表申请 a 个空间的元素,每个元素初始化为 blist <int> l5(8, 6);//创建8个6
6. 拷贝构造函数list<int> l6(l2_2);

2.list赋值操作

list<int> l = { 9,8,5,2,1,1 };
1. = 赋值list<int> l1;
l1 = l;
2. assign(迭代器)list<int> l2;
l2.assign(l1.begin(), l1.end());
3. assign(初始化列表)list<int> l3;
l3.assign({ 1,3,1,4 });
4. assign(a, b) 初始化 a 个 blist<int> l4;
l4.assign(8, 6);

3.list大小操作

1.empty l.empty()
2.sizel.size()
3.resize

l.resize(18);

l.resize(20, 6);//第19,20位元素是6

4.list数值插入

1、push_frontl.push_front(-1);
2、push_backl.push_back(1);

3、insert

3.1 insert(迭代器, 值)

3.2 insert(迭代器, 数量, 值)

3.3 insert(迭代器,迭代器的开始位置,迭代器的结束位置)

3.1 l.insert(l.begin(), 0);//在头前面插入0

3.2 l.insert(l.begin(), 5, 8);//在头前面插入5个8

3.3 l.insert(l.begin(), l.begin(), l.end());//在头前面插入l的头到尾数据

5.list数值删除

1、pop_front,头删l.pop_front();
2、pop_back,尾删l.pop_back();
3、erase,任意位置删

l.erase(l.begin())//删除第一个元素

l.erase(it, l.end());//删除从头到尾

4、clear,全部删除l.clear();

6.list数值访问

//list无法下标访问// l[4];         无法进行随机访问
// l.at(6);      无法进行随机访问//只能通过迭代器++,或--操作
list<int> l = { -1, 9, 8, 5, 2, 1, 1, -1 };
l++;

7.list链表反转reverse()

    list<int> l({ 1,2,3 });printList(l);//1 2 3l.reverse();printList(l);//3 2 1

8.list链表排序sort()

    bool cmp(const int& a, const int& b) {return a > b;}list<int> l = { 4,2,6,5,3,1 };l.sort();printList(l);//1 2 3 4 5 6l.sort(cmp);printList(l);//6 5 4 3 2 1

http://www.dtcms.com/a/274320.html

相关文章:

  • 游戏的程序员会不会偷偷改自己账号的数据?
  • 线性回归的从零开始实现(详解部分疑问)
  • 【三】ObservableCollection 与 List 的区别
  • RK3566/RK3568 Android11 CAN开发(内核配置+测试验证+安卓app开发)
  • 2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛C题 基于Quantum Boosting的二分类模型问题
  • 5G标准学习笔记15 --CSI-RS测量
  • 【龙泽科技】新能源汽车维护与动力蓄电池检测仿真教学软件【吉利几何G6】
  • 深入理解C语言内存空间、函数指针(三)(重点是函数指针)
  • Redis 主从复制及哨兵模式模拟部署
  • 3.检查函数 if (!CheckStart()) return 的妙用 C#例子
  • PBR渲染
  • 【网络安全】理解安全事件的“三分法”流程:应对警报的第一道防线
  • leaflet【十二】自定义图层——海量数据加载
  • 安全监测预警平台的应用场景
  • 机器学习数据集加载全攻略:从本地到网络
  • Git Submodule 介绍和使用指南
  • FS820R08A6P2LB——英飞凌高性能IGBT模块,驱动高效能源未来!
  • Vscode 下载远程服务器失败解决方法
  • Jenkins 版本升级与插件问题深度复盘:从 2.443 到 2.504.3 及功能恢复全解析
  • 和鲸社区深度学习基础训练营2025年关卡2(3)pytorch
  • 限流算法
  • GT IP核仿真测试
  • 关于大模型引用特定网页或文章的思考
  • 稳石氢能受邀参加亚洲氢能与燃料电池技术应用论坛,荣获2025中国制氢装备技术创新企业。
  • P1484 种树,特殊情形下的 WQS 二分转化。
  • 【leetcode】1486. 数组异或操作
  • 国际学术期刊IJCAST发布最新一期论文
  • 声明式 vs 编程式:Spring事务管理全对比
  • windows exe爬虫:exe抓包
  • Redis的高级特性与应用实战指南