C++——list类用法指南

news2024/7/4 23:06:02

一、list的介绍

1、list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代

2、list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素

3、list和forward_list非常相似,最主要的不同在于forward_list是单链表,只能朝前迭代,让其更简单高效

4、与其他序列式容器(vector、array、deque)相比,list通常在任意位置进行插入、移除元素,执行效率更好

5、与其他序列式容器相比,list和forward_list最大的缺陷是不支持任意位置的随机访问,必须从头部或者尾部迭代到该位置

二、list的介绍

2.1 定义

2.2 使用

注意:

1、begin和end为正向迭代器,对迭代器执行++操作,迭代器向后移动

2、rbegin和rend为反向迭代器,对迭代器执行++操作,迭代器向前移动

2.3 Capacity

2.4 Element access

2.5 Modifiers

三、list的迭代器失效

迭代器失效即迭代器所指向的节点无效,即该节点被删除了。因为list的底层结构是带头节点的双向循环链表,因此在list中进行插入时是不会导致list的迭代器失效的,只有在删除时才会失效,并且失效的只是指向被删除节点的迭代器,其他迭代器不会受到影响

四、list与vector的区别

vector与list都是STL中非常重要的序列式容器,由于两个容器的底层结构不同,导致其特性与应用场景不同,最主要的区别如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1886462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51单片机外部中断(按键识别)

欢迎入群共同学习交流 时间记录:2024/7/2 一、电路原理图 51单片机包含INT0、INT1两个外部中断接口 二、知识点介绍 1.中断寄存器位介绍 (1)TCON定时控制寄存器,位0(IT0)中断INT0请求信号选择位&#x…

性能调优 性能监控

1.影响性能考虑点包括: 数据库、应用程序、中间件(tomcat、nginx)、网络和操作系统等方面。 首先考虑自己的应用属于 CPU密集型 还是 IO密集型 cpu密集型 计算,排序,分组查询,各种算法 IO密集型 网络传输,磁盘读…

聊聊 golang 的 map

1、哈希表 哈希表是一个很常见的数据结构,用来存储无序的 key/value 对,给定的 key 可以在 O(1) 时间复杂度内查找、更新或删除对应的 value。 设计一个好的哈希表,需要着重关注两个关键点:哈希函数、冲突处理。 1.1 哈希函数 …

观成科技:某修改版哥斯拉Webshell流量分析

一、工具介绍 哥斯拉是一款webshell权限管理工具,由java语言开发。功能特点:全部类型的shell能绕过市面大部分的静态查杀、流量加密能绕过过市面绝大部分的流量Waf。哥斯拉Webshell还可以通过各种魔改,绕过流量检测设备,近期&…

【CSAPP】-attacklab实验

目录 实验目的与要求 实验原理与内容 实验设备与软件环境 实验过程与结果(可贴图) 实验总结 实验目的与要求 1. 强化机器级表示、汇编语言、调试器和逆向工程等方面基础知识,并结合栈帧工作原理实现简单的栈溢出攻击,掌握其基…

怎么快速给他人分享图片?扫描二维码看图的简单做法

现在通过二维码来查看图片是一种很常见的方法,通过二维码来查看图片不仅能够减少对手机存储空间的占用,而且获取图片变得更加方便快捷,只需要扫码就能够查看图片,有利于图片的展现。很多的场景中都有图片二维码的应用,…

注意!年龄越大,社交圈子越窄?其实这是老人的理性选择!数学家告诉你:何时该跳槽,何时该坚守!你必须知道的三个智慧:让你的人生更加精彩!

我们到底应该在什么情况下探索新事物,什么情况下专注于已有的东西呢?本质上来说,这个问题就是在询问,你究竟应该耗费精力去探索新的信息,还是专注从既有的信息中获取收获? 有人采访了临终的老人&#xff0c…

AI图生视频工具测试

环境: 即梦 pika LUMA 可灵 问题描述: AI图生视频工具测试下面是原图 解决方案: 1.即梦 效果 2.pika 生成效果 3.LUMA 生成效果还行 4.可灵 生成效果最好

Cookie的默认存储路径以及后端如何设置

问题场景 最近在写一个前后端分离的项目,需要跨域,前端开发同学遇到一个问题一直报错,本质上就是后端返回的cookie中的sessionID在前端发送http请求时无法被请求自动携带,每次htttpRequest都被后端识别为一个新的session&#xf…

Python 文件夹同步工具(sync_folders)

分享一个自己写的文件夹同步工具,可以实现文件夹备份/同步。 下载地址: https://download.csdn.net/download/frostlulu/89506856?spm1001.2014.3001.5501 使用方法: 下载后解压,会得到下面3个文件:sync_folders.…

Zabbix 配置钉钉告警

Zabbix 配置钉钉告警 随着企业IT运维需求的不断增加,及时、准确地获取系统告警信息显得尤为重要。在众多告警工具中,Zabbix 因其强大的监控功能和灵活的告警机制,成为了很多企业的首选。同时,随着企业内部沟通工具的多样化&#…

windows远程连接无法复制文件

windows远程桌面无法复制文件 解决方案 打开任务管理器管理器,在详细信息界面,找到rdpclip.exe进程,选中并点击结束任务,杀死该进程。 快捷键 win r 打开运行界面,输入 rdpclip.exe ,点击确定运行。即可解决无法复制文件问题。…

ELK日志实时监控

目录 一、ELK/EFK简介 1.1 什么是ELK/EFK? 1.2 常见架构 1、Elasticsearch Logstash Kibana 2、Elasticsearch Logstash Filebeat Kibana 3、Elasticsearch Logstash Filebeat Kibana Redis 4、Elasticsearch Fluentd Filebeat Kibana 1.3 基本流程 二、…

Python层次密度聚类算法库之HDBSCAN使用详解

概要 HDBSCAN 是一种层次密度聚类算法,它通过密度连接性来构建聚类层次结构。与传统的 K-Means 算法相比,HDBSCAN 具有以下几个显著特点: 自动确定聚类数量:HDBSCAN 能够根据数据自动确定聚类数量,不需要预先指定。 适应噪声和异常点:HDBSCAN 在聚类过程中能够很好地处理…

2024年创业新商机组合拳“消费增值+二二复制”引流拓客新思路

文丨微三云胡佳东,点击上方“关注”,为你分享市场商业模式电商干货。 - 引言:2024年各行各业面临企业经营瓶颈难的一年,国家也陆续推出了《关于打造消费新场景培育消费新增长点的措施》都是为了培育和壮大消费新增长点&#xff…

大公司图纸管理的未来趋势

随着科技的不断发展,大公司图纸管理正朝着更加智能化、自动化和协同化的方向发展。以下是大公司图纸管理的未来趋势预测。 1. 智能化管理 利用人工智能和机器学习技术,实现图纸的自动分类、标注和检索。通过智能分析算法,预测图纸的使用趋势…

[方法] 为Cinemachine添加碰撞器

选中场景中的Cinemachine物体,在 Inspector 面板的最下方单击 Add Extension 下拉框,选择 CinemachineCollider。 之后在添加的碰撞器组件中选择要与之碰撞的层(Collide Against)和忽略的层(Transparent Layers&#x…

V Rising夜族崛起的管理员指令大全

使用方法: 如果没有启用控制台需要先启用控制台 打开游戏点击选项(如果在游戏内点击ESC即可),在通用页面找到启用控制台,勾选右边的方框启用 在游戏内点击键盘ESC下方的波浪键(~)使用控制台 指…

5.Android逆向协议-初识HTTP和HTTPS协议

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:微尘网校 上一个内容:4.Android逆向协议-详解二次打包失败解决方案 从现在开始正式进入协议分析了。 首先客户端与服务端之…

Sui Bridge激励计划更新,一周后结束

Sui Bridge的激励测试网阶段将于7月8日结束,这是最后一周参与的机会。在这一关键阶段,社区反馈和全面测试对于确保Sui Bridge在主网上线时的顺利运行至关重要。 为了确保你的操作符合奖励条件,请确保遵守以下要求: 完成完整的桥…