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

STL-list的使用简介

目录

​编辑

一、list的底层实现是带头双向循环链表

 二、list的使用

1、4种构造函数(与vector类似)​编辑

2、迭代器iterator 

3、容量(capicity)操作 

 4、element access  元素获取

 5、增删查改 list modifiers

6、list的迭代器失效(重点)


 

一、list的底层实现是带头双向循环链表

文档

特性:类比于带头双向循环链表

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

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

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

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

5. 与其他序列式容器相比,list和forward_list最大的缺陷是不支持任意位置的随机访问,比如:要访问list 的第6个元素,必须从已知的位置(比如头部或者尾部)迭代到该位置,在这段位置上迭代需要线性的时间开销;

list还需要一些额外的空间,以保存每 个节点的相关联信息(对于存储类型较小元素的大list来说这 可能是一个重要的因素

 二、list的使用

1、4种构造函数(与vector类似)

2、迭代器iterator 

 此处,大家可暂时将迭代器理解成一个指针,该指针指向list中的某个节点

 

注意: 

begin()与end()是正向迭代器,++向正向(后)移动

rbegin()与rend()是反向迭代器,++向反向(前)移动

3、容量(capicity)操作 

 4、element access  元素获取

 5、增删查改 list modifiers

 list中还有一些操作,需要用到时大家可参阅list的文档说明。

6、list的迭代器失效(重点)

前面说过,此处大家可将迭代器暂时理解成类似于指针,迭代器失效即迭代器所指向的节点的无效,即该节 点被删除了。因为list的底层结构为带头结点的双向循环链表,因此在list中进行插入时是不会导致list的迭代 器失效的,只有在删除时才会失效,并且失效的只是指向被删除节点的迭代器,其他迭代器不会受到影响。

 

相关文章:

STL-list的使用简介

目录 ​编辑 一、list的底层实现是带头双向循环链表 二、list的使用 1、4种构造函数(与vector类似)​编辑 2、迭代器iterator 3、容量(capicity)操作 4、element access 元素获取 5、增删查改 list modifiers 6、list的迭…...

MySQL:索引失效场景总结

1 执行计划查索引 通过执行计划命令可以查看查询语句使用了什么索引。 EXPLAIN SELECT * FROM ods_finebi_area WHERE areaName = 福建 执行查询计划后,key列的值就是被使用的索引的名称,若key列没有值表示查询未使用索引。 2 在什么列上创建索引 (1)列经常被用于where…...

LNMP平台对接redis服务

目录 1、安装 LNMP 各个组件 2、安装 redis 服务 3、安装 redis 扩展 4、修改 php 配置文件 5、测试连接 1、安装 LNMP 各个组件 2、安装 redis 服务 3、安装 redis 扩展 官网:http://redis.io/ 下载包: https://codeload.github.com/phpredis/p…...

5G之味,在烟火长沙

今年夏天,有一部电影叫做《长沙夜生活》。影片讲述了长沙大排档中的一些故事。网红大排档的老板娘、厨师、顾客,他们的邂逅、热爱、留下、离开、和解、团圆,都发生在一段夜色里,发生在充满烟火气的长沙城。 有没有想过这样一个问题…...

【MYSQL】MYSQL 的学习教程(十一)之 MySQL 不同隔离级别,都使用了哪些锁

聊聊不同隔离级别下,都会使用哪些锁? 1. MySQL 锁机制 对于 MySQL 来说,如果只支持串行访问的话,那么其效率会非常低。因此,为了提高数据库的运行效率,MySQL 需要支持并发访问。而在并发访问的情况下&…...

LORA的基本原理

本文将介绍如下内容: 什么是Lora高效微调的基本原理LORA的实现方式LORA为何有效? 一、什么是LoRA LoRA 通常是指低秩分解(Low-Rank Decomposition)算法,是一种低资源微调大模型方法,论文如下: LoRA: Low…...

Vue2x的自定义指令和render函数使用自定义指令

在某些情况下,我们需要对底层DOM进行操作,而内置的指令不能满足需求,就需要自定义指令。一个自定义指令由一个包含类似组件的生命周期的钩子的对象来定义,钩子函数会接收到指令所绑定的元素作为参数。 定义指令 常用两种方式进行…...

Linux学习(2):文件目录指令

Linux学习(2):文件目录指令 1 文件目录指令1.1 pwd 用来显示当前目录的绝对路径的1.2 ls 显示当前目录的信息1.3 cd 切换到指定目录1.4 mkdir 创建目录1.5 rmdir 删除空目录1.6 touch 创建空文件1.7 cp 拷贝文件到指定目录1.8 rm 移除文件或目…...

Dockerfile的ENV

文章目录 环境总结测试测试1测试2测试3测试4测试5测试6 参考 环境 RHEL 9.3Docker Community 24.0.7 总结 如果懒得看测试的详细信息,可以直接看结果: 一条 ENV 指令可以定义多个环境变量。Dockerfile里可以包含多条 ENV 指令。环境变量的值不需要用…...

【普中开发板】基于51单片机的简易密码锁设计( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的简易密码锁设计 1.主要功能:资料下载链接: 实物图:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单 【普中】基于51单片机的简易密码锁设计 ( proteus仿真程序设计报告讲解视频) 仿真图proteus8.16(有低版本) 程…...

c语言之输出函数用法 putchar

putchar函数 putchar函数是c语言输出函数&#xff0c;但它只能输出单个字符&#xff0c;如果要输出字符串就不合适了。 应用举例 #include<stdio.h> int main() {putchar(a);putchar(4);putchar(\n);return 0: } 从上面代码可以看出&#xff0c;单字符必须用单引号’…...

高精度原边控制电路D3820,CC/CV精度±5%以内,可作为10W以下小功率、低待机功耗的电源替代,可兼容OB2520

高精度原边控制离线式PWM功率开关 特点 1、全电压范围CC/CV精度保持在5%以内 2、用原边控制&#xff0c;无需TL431和光耦 3、欠压锁定&#xff08;UVLO&#xff09;及自动重启 4、驱动BJT 5、内置前沿消隐&#xff08;LEB&#xff09; 6、逐周期限流模式 7、输出线压降…...

Python库学习(十四):ORM框架-SQLAlchemy

1.介绍 SQLAlchemy 是一个用于 Python 的 SQL 工具和对象关系映射&#xff08;ORM&#xff09;库。它允许开发者通过 Python 代码而不是 SQL查询语言来操作数据库。SQLAlchemy 提供了一种灵活且强大的方式来与关系型数据库交互&#xff0c;支持多种数据库后端&#xff0c;如 P…...

信息学奥赛一本通1014:与圆相关的计算

1014&#xff1a;与圆相关的计算 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 167892 通过数: 85008 【题目描述】 给出圆的半径&#xff0c;求圆的直径、周长和面积。输入圆的半径实数r&#xff0c;输出圆的直径、周长、面积&#xff0c;每个数保留小数点后4…...

Vscode——通过SSH连接服务器

1、打开vscode —— 点击左下角 2、选择SSH 3、点击后会自动安装三个插件 4、点击左下角——连接服务器 5、再次点击左下角——连接服务器 6、登录成功后打开终端即可操作 快捷键&#xff1a;ctrl ~ 7、查看编辑服务器文件目录 点击文件——打开文件夹 8、确定后再次输入登录密…...

UE5 通过接口实现角色描边效果

接口不能够被实例化&#xff0c;不能够在内部书写函数的逻辑和设置属性&#xff0c;只能够被继承使用。它能够让不同的类实现有相同的函数&#xff0c;继承接口的类必须实现接口的函数。 并且&#xff0c;我们可以在不同的类里面的函数实现也不同&#xff0c;比如A类描边是红色…...

电脑提示dll丢失怎么办,教你一招将dll修复

使用电脑时&#xff0c;你的电脑是否出现关于dll文件丢失或找不到的问题&#xff0c;出现这种问题又该如何解决呢&#xff0c;dll文件问题会导致软件无法打开&#xff0c;或者会导致系统崩溃。今天就来教大家如何快速解决dll文件修复。 一.如何修复dll修复 方法一&#xff1a;…...

MATLAB mat 文件

1.mat文件格式 MATLAB&#xff08;Matrix Laboratory&#xff09;使用 .mat 文件格式来存储和加载数据。MAT 文件是一种二进制文件格式&#xff0c;能够保存 MATLAB 中的各种数据类型&#xff0c;包括矩阵、向量、结构体、元胞数组等。 特定和用途&#xff1a; 二进制格式&a…...

Linux du和df命令

目录 一. df二. du 一. df ⏹用于显示系统级别&#xff0c;磁盘分区上的可用和已用空间的信息 -h&#xff1a;以人类可读的格式显示文件系统大小 ⏹每秒钟监视当前磁盘的使用情况 watch 用于周期性的执行特定的命令-n 1 表示每一秒刷新一次命令执行的结果df -h ./ 表示周期性…...

Adobe Photoshop 快捷键

PS快捷键 图层 选择图层 Ctrl T&#xff1a;可以对图层的大小和位置进行调整 填充图层 MAC: AltBackspace (前景) or CtrlBackspace (背景) WINDOWS: AltDelete (前景) or CtrlDelete (背景) 快速将图层填充为前景色或背景色 平面化图层&#xff08;盖印图层&#xff09…...

基于STM32微控制器的DHT11环境温湿度监测系统设计与实现

基于stm32的环境温湿度监测系统设计(DHT11)最近在折腾STM32的环境监测小项目&#xff0c;发现DHT11这玩意儿真是便宜又好用。虽然精度比不上那些高端传感器&#xff0c;但做个室内温湿度监控绰绰有余。今天咱们直接开干&#xff0c;手把手搭个能跑的系统。硬件部分简单到哭&…...

查文献、搭框架、写综述太耗时?试试百考通AI开题报告,高效又安全

开题报告是毕业论文或学位研究的“第一张学术蓝图”&#xff0c;它不仅决定你的选题能否获批&#xff0c;更直接影响后续研究的逻辑性、深度与完成质量。然而&#xff0c;许多学生在撰写时常常感到无从下手&#xff1a;问题意识模糊、文献综述堆砌无主线、研究方法描述空泛、结…...

如何在Windows 11 LTSC中快速安装微软商店:完整免费指南

如何在Windows 11 LTSC中快速安装微软商店&#xff1a;完整免费指南 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore Windows 11 LTSC版本以其卓越的稳…...

Linux内核随机数API

Linux内核为不同需求的场景&#xff08;如密码学安全、高性能模拟、概率采样等&#xff09;提供了多种获取随机数的方式&#xff0c;同时也支持生成概率值&#xff08;例如按一定概率选择分支&#xff09;。下面分类介绍&#xff1a; 一、内核态可用的随机数API 1. 密码学安全的…...

001、性能优化基础:慢SQL诊断与执行计划分析

昨天凌晨又被告警短信吵醒了&#xff0c;线上某核心接口的P99响应时间飙到了3秒。登录服务器一看&#xff0c;MySQL的CPU已经跑满&#xff0c;processlist里堆了二十几个相同的查询——又是慢SQL惹的祸。这种场景咱们做后端开发的太熟悉了&#xff0c;今天就来聊聊怎么系统性地…...

OFA图像描述效果展示:COCO风格caption生成——简洁、准确、自然

OFA图像描述效果展示&#xff1a;COCO风格caption生成——简洁、准确、自然 1. 项目概述 今天要给大家展示一个特别实用的AI工具——基于OFA模型的图像描述生成系统。这个工具能够自动为任何图片生成简洁、准确、自然的英文描述&#xff0c;就像给图片配上了专业的文字说明。…...

Unitree Go2机器人ROS2集成完整指南:从零开始掌握智能四足机器人开发

Unitree Go2机器人ROS2集成完整指南&#xff1a;从零开始掌握智能四足机器人开发 【免费下载链接】go2_ros2_sdk Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU 项目地址: https://gitcode.com/gh_mirrors/go/go2_ros2_sdk 想要让Unitree Go2机器人真正&quo…...

毫米波雷达开发者必看:双级联方案如何用DDMA波形实现300米精准测距?

毫米波雷达双级联方案实战&#xff1a;DDMA波形设计如何突破300米测距极限&#xff1f; 当特斯拉HW4.0的雷达模块在暴雨中依然稳定输出300米外的障碍物坐标时&#xff0c;背后的技术密码正是双级联架构与DDMA波形的完美融合。作为L3级自动驾驶系统的"全天候之眼"&am…...

利用NSGA-III算法优化随机森林模型超参数的实践与可视化展示:从理论到实现的全过程解析

利用NSGA-III算法优化机器学习模型 通过Optuna库实现机器学习模型超参数的优化与可视化&#xff0c;通过精心设计的目标函数&#xff0c;将搜索多个超参数空间&#xff0c;最终确定使模型性能最优的参数组合 为了更直观地展示调参过程&#xff0c;最后利用3D曲面图对调参效果进…...

LoadRunner Developer实战:如何在VSCode中集成性能测试(含Jenkins流水线配置)

LoadRunner Developer实战&#xff1a;VSCode集成与Jenkins流水线配置全指南 在DevOps实践中&#xff0c;性能测试左移已成为提升软件质量的关键策略。作为Micro Focus推出的开发者友好型工具&#xff0c;LoadRunner Developer让开发团队能在编码阶段就发现性能瓶颈。本文将手…...