C++的list使用

news2024/12/25 9:54:54

list

  • 1.list的介绍和使用
    • 1.1. list介绍
    • 1.2. list的使用
      • 1.2.1 list的构造
      • 1.2.2. list iterator的使用
      • 1.2.3. list capacity
      • 1.2.4 list element access
      • 1.2.5 list modifiers
      • 1.2.6 list的迭代器失效

1.list的介绍和使用

1.1. list介绍

  1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。
  2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。
  3. list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。
  4. 与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。
  5. 与其他序列式容器相比,list和forward_list最大的缺陷是不支持任意位置的随机访问,比如:要访问list的第6个元素,必须从已知的位置(比如头部或者尾部)迭代到该位置,在这段位置上迭代需要线性的时间开销;list还需要一些额外的空间,以保存每个节点的相关联信息(对于存储类型较小元素的大list来说这可能是一个重要的因素)

在这里插入图片描述

1.2. list的使用

1.2.1 list的构造

在这里插入图片描述
在这里插入图片描述

1.2.2. list iterator的使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2.3. list capacity

在这里插入图片描述

1.2.4 list element access

在这里插入图片描述

1.2.5 list modifiers

在这里插入图片描述

1.2.6 list的迭代器失效

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

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

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

相关文章

chatgpt赋能Python-python2的n次方

Python2中实现n次方的方法 Python是一种非常受欢迎的编程语言,其简单易学的特性吸引了大量的开发者前来学习和使用。在Python2中,实现n次方有多种方法,下面就给大家介绍一些。 方法一:使用运算符 在Python2中,可以使…

不重启Linux修改主机名,以CentOS 7举例

在 Linux 中,可以通过修改主机名配置文件的方式更改主机名,不需要重启机器即可立即生效。 下面介绍一下具体步骤: 1、查看原始主机名 比如我的主机名叫small-black 2、使用命令行修改主机名 2.1 修改主机名 首先,使用以下命…

2023年的深度学习入门指南(14) - 不能只关注模型代码

2023年的深度学习入门指南(14) - 不能只关注模型代码 最近,有一张大模型的发展树非常流行: 这个图是相当不错的,对于加深对于Transformer模型编码器、解码器作用的理解,模型的开源和闭源情况等等都相当有帮助,大家使…

尝试Google Bard并对比OpenAI ChatGPT,一个擅长创造性,一个擅长事实查询?

文章目录 尝试Google Bard并对比OpenAI ChatGPT,一个擅长创造性,一个擅长事实查询?Google Bard 的自我介绍Google Bard 暂时不支持中文Google Bard除了支持英语外,还支持日语Google Bard和OpenAI ChatGPT的对比Google Bard的回答O…

音乐宿主软件排行榜前十名,音乐宿主要买正版吗

随着电子音乐的不断发展,一些电子音乐爱好者开始尝试自己编写电子音乐。而编写电子音乐必不可少的一点就是需要一款非常好用的音乐宿主软件,那么今天我们就来说一说音乐宿主软件排行榜前十名以及音乐宿主软件要买正版吗这两个问题。 一、音乐宿主软件排…

数组【C语言】

目录 一维数组的创建和初始化 数组创建 数组的初始化 一维数组的使用 一维数组在内存中的存储 二维数组的创建与初始化 二维数组的创建 二维数组的初始化 二维数组的使用 二维数组在内存中的存储 数组越界 数组名作为函数参数 数组名 一维数组的创建和初始化 数组…

chatgpt赋能Python-python3_8降级3_6

Python3.8降级3.6,你需要知道的一切 在Python语言的世界中,每一个版本带来了新的变化和功能。但是在某些情况下,汲取早期版本的优点也是很必要的。Python3.8之前的版本当中,Python3.6是广泛使用的版本,因为它包含了许…

t检验是基于t分布的

例:鸢尾花的平均花瓣长度为3.5cm,这种说法正确吗? 可以根据假设检验的步骤,进行解决。 /设置原假设与备择假设: 原假设:μ μ0 3.5cm(说法正确) 备择假设:μ ≠ μ0 ≠…

chatgpt赋能Python-python3_8怎么安装matplotlib

Python3.8怎么安装Matplotlib Matplotlib是一个非常流行的Python可视化库,它可以用来创建各种类型的图形,包括线图、散点图、直方图、饼图和热图等等。在本文中,我们将介绍如何在Python3.8中安装Matplotlib,以及如何使用它来绘制…

chatgpt赋能Python-python3_9_0怎么安装

Python3.9.0的安装指南 Python作为目前世界上使用最广泛的编程语言之一,在数据科学、人工智能、Web开发等领域都有着广泛的应用。而今年10月5日,Python官方发布了最新的稳定版本——Python3.9.0。本文将提供一份简明的Python3.9.0安装指南。 准备工作 …

C++模板类与继承

目录 分类 一、模板类不继承 (1)代码 (2)分析 (3)运行结果 二、模板类继承普通类 (1)代码 (2)分析 (3)运行结果 三、普通类继…

【TCP协议】TCP的运输连接管理-三次握手四次挥手

TCP 的运输连接管理 TCP 是面向连接的协议,运输连接是用来传送 TCP 报文的,TCP 的运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此,运输连接就有三个阶段,即:连接建立、数据传输、连接释放。 TCP…

chatgpt赋能Python-python3_6_6怎么用

Python3.6.6的基本介绍 1. Python3的发展历程 自1991年Guido van Rossum创造了Python language以来,Python一直在不断发展和改进。Python3是Python中的最新版本,它对Python2进行了重大升级。Python3.6.6是Python3的一个稳定版本,其中包含了…

chatgpt赋能Python-python3_4安装numpy

Python3.4安装Numpy的SEO指南 Numpy是Python科学计算库之一,它提供了强大的支持,使您可以使用Python进行数学和科学计算。Numpy的安装是许多Python开发者必须掌握的技能,因为它是许多其他库的先决条件。在本SEO指南中,我们将介绍…

MATLAB信号处理:滤波器设计、频域分析和数字信号处理的应用和优化

章节一:引言 在现代科技领域中,信号处理起着至关重要的作用。它涵盖了从音频和图像处理到通信和生物医学工程等众多领域。MATLAB作为一种强大的数值计算软件,为信号处理提供了丰富的工具和函数,使得信号处理任务更加高效和可靠。…

chatgpt赋能Python-python3_6怎么下载

Python3.6如何下载:完全指南 Python 3.6是一种非常强大的编程语言,被广泛应用于各种应用程序和领域。如果你还没有安装Python 3.6,那么你已经错过了很多有趣的功能和工具。本文将向你介绍如何在各种操作系统上下载Python 3.6,无论…

在Vue项目中vue-quill-editor的安装与使用【详细图解+过程+包含图片的缩放拖拽】

Quill 官网:https://quilljs.com// 一、Quill的安装与使用(初级) 1、下载安装 npm install vue-quill-editor --save这里建议使用管理员命令窗口的形式,找到自己的项目,如下图所示。然后进行安装(目的&a…

RBTree改造,并模拟实现setmap

目录 RBTree改造 给红黑树增加迭代器 前置 前置-- RBT细节改造 模拟set 模拟map RBTree改造 给红黑树增加迭代器 前置 前置的作用是找下一个较大的节点。 假如我们it指向的是5,it则是将it指向6。加入it指向的是7,则it则是将it指向8。 也就是说…

三十八、流控效果、

1、流控效果 流控效果是指请求达到流控阈值时应该采取的措施,包括三种: 快速失败:达到阈值后,新的请求会被立即拒绝并抛出FlowException异常。是默认的处理方式。 warm up:预热模式,对超出阈值的请求同样是…

chatgpt赋能Python-python3m

Python 3: 一个新时代的编程语言 在编程的世界里,Python 3可能是当前最为热门的编程语言。Python 3是Python语言的最新版本,代码更加现代化,更加简洁易懂,比Python 2更加易于使用。这篇文章将介绍Python 3的各种特性,…