list的介绍及使用(14)

news2024/9/27 17:26:50

目录

1、list的介绍

2、list的使用

1、list的构造

2、迭代器

3、list modifiers

4、list element access

5、list capacity


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来说这可能是一个重要的因素)

小结:list是一个带头双向循环链表。

2、list的使用

1、list的构造

2、迭代器

注意:

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

2、rbegin(end)与rend(begin)为反向迭代器,对迭代器执行++操作,迭代器向前移动

#include<iostream>
#include<list>
using namespace std;

int main()
{
	list<int> l1;
	l1.push_back(1);
	l1.push_back(2);
	l1.push_back(3);
	l1.push_back(4);

	list<int>::iterator it = l1.begin();
	while (it != l1.end())
	{
		cout << *it << " ";
		++it;
	}
	cout << endl;

	list<int>::reverse_iterator rit = l1.rbegin();
	while (rit != l1.rend())
	{
		cout << *rit << " ";
		++rit;
	}
	cout << endl;

	return 0;
}

3、list modifiers

4、list element access

5、list capacity

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

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

相关文章

u盘提示格式化怎么修复?80%的人都在这么做!

u盘是我们平时经常使用的一个存储设备&#xff0c;使用时间久了容易出现格式化的情况&#xff0c;而这种情况一般都会出现在 U盘上。如果出现格式化的提示&#xff0c;u盘提示格式化怎么修复&#xff1f;很多小伙伴们可能都不知道恢复的方法&#xff0c;今天我们就一起来看看&a…

可观测性不止于监控,让运维不开盲盒!

近年来&#xff0c;可观测性热度节节攀升&#xff0c;企业在可观测性实践过程中常常也伴随着一系列棘手的问题&#xff1a; 监控与可观测区别是什么&#xff1f;可观测发展史是怎样的&#xff1f;如何规划可观测的体系化建设之路&#xff1f;如何让可观测平台与工具顺利落地&a…

雷达探测项目仿真代码(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

用DIV+CSS技术设计的明星个人网站制作(基于HTML+CSS+JavaScript制作明星彭于晏网页)

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

8年研发工程师心路历程(道与术皆得)

序言 首先本人只是一个资质平平对技术不算热衷但终归是它给我赏了一口饭吃心存感激的普通程序员&#xff0c;暂且不要拿作者和专攻技术的高端玩家做对比&#xff0c;因此我介绍的方法也是相对比较温和&#xff0c;保证理论上来说不会占用额外过多的空闲时间去学习。 作为一个程…

给所有的async函数添加try/catch

async 如果不加 try/catch 会发生什么呢&#xff1f;下面让我们看个例子 async function fn() {let value await new Promise((resolve, reject) > reject(报错))console.log(do something...) } fn() 导致浏览器报错&#xff1a;一个未捕获的错误&#xff0c;并且下面的…

Spring定时器会初始化两次终于找到原因了!!!

使用idea编译器中的Tomcat时写在逻辑业务层的定时器会执行两次&#xff0c;最开始我认为是Tomcat的问题&#xff0c;后面做了个测试在出现该现象的业务层类中定义了一个测试定时器方法&#xff1a; Scheduled(cron "0/5 * * * * ?") //每隔5秒执行一次这个方法pub…

华为再次入选2022年Gartner® SIEM魔力象限

近日&#xff0c;全球IT研究与顾问咨询机构Gartner正式发布《Magic Quadrant™ for Security Information and Event Management》报告&#xff0c;全球共有16家厂商入选了Gartner SIEM魔力象限&#xff0c;华为凭借HiSec Insight和华为云安全云脑技术能力进入了Gartner SIEM魔…

javascript中this的指向问题

this的五种绑定问题 1&#xff0c;默认绑定 默认绑定通常是指函数独立调用&#xff0c;不涉及其他绑定规则。 非严格模式下&#xff0c;this指向window严格模式,下&#xff0c;this指向undefined. 在普通函数内部的thislet/const定义的变量存在暂时性死区&#xff0c;而目不…

elk实践

1、背景 鉴于现在项目中的日志比较乱&#xff0c;所以建议使用现在较为流行的elk收集日志并展示&#xff1b; 2、下载、配置与启动 在下载 Elastic 产品 | Elastic 官网下载filebeat、logstash、elasticSearch、kibana 版本要一致 本人测试用的7.14 mac版本 实际生产使用7.14…

甘特图来搞定跨部门协作难的问题!项目经理必备

在很多大的工程项目、IT项目、市场项目中&#xff0c;都会涉及诸多对人员、时间、质量等的控制&#xff0c;这往往需要跨部门协作。但目前大多数企业跨部门协作还是通过微信、口口相传的方式进行&#xff0c;也导致了以下这些问题的频现&#xff1a; 辗转多个群聊提取有用的信息…

笔试强训(三十九)

目录一、选择题二、编程题2.1 字符串计数2.1.1 题目2.1.2 题解一、选择题 &#xff08;1&#xff09;/etc/resolv.conf的用途是&#xff08;C&#xff09; A.邮件服务的配置文件 B.DHCP的设置文件 C.DNS解析的设置文件 D.网络路由的设置文件 &#xff08;2&#xff09;能够pin…

Redis 通用指令

文章目录一、key通用指令1-1 基本操作1-2 时效性控制1-3 查询操作1-4 扩展操作二、数据库通用指令提示&#xff1a;以下是本篇文章正文内容&#xff0c;Redis系列学习将会持续更新 一、key通用指令 ● 特征&#xff1a;key是一个字符串&#xff0c;通过key获取redis中保存的数…

警惕 “格机软件” 格式化手机全字库..不要轻易给不明觉厉的软件给root权限

以前的玩机界中有【锁机】软件。就是你安装一个软件后他会锁住屏幕。导致你无法操作手机。屏幕出现QQ联系方式等 勒索钱财。目前刷机界中的【格机】更胜一筹&#xff0c;直接格式化你手机全部分区没商量............ 警惕&#xff1a;不要给不明觉厉的软件 模块 刷机包等等给r…

Flink的状态持久化和状态后端

状态持久化 检查点的保存离不开 JobManager 和 TaskManager&#xff0c;以及外部存储系统的协调。在应用进行检查点保存时&#xff0c;首先会由 JobManager 向所有 TaskManager 发出触发检查点的命令&#xff1b;TaskManger 收到之后&#xff0c;将当前任务的所有状态进行快照保…

搭建自己Kindle电子书图书馆,并可远程访问

在电子书风靡的时期&#xff0c;大部分人都购买了一本电子书&#xff0c;虽然这本电子书更多的时候是被搁置在储物架上吃灰&#xff0c;或者成为盖泡面的神器&#xff0c;但当亚马逊发布消息将放弃电子书在中国的服务时&#xff0c;还是有些令人惋惜&#xff0c;毕竟谁也不想大…

【虾神白话空间统计】笔记:置信度、零假设、PZ值、随机分布

以下内容摘录节选学习自虾神专栏 很重要的一个概念&#xff1a;在空间统计中&#xff0c;随机和均匀经常是一个意思 一个随机抽样的例子 新版白话空间统计&#xff08;9&#xff09;&#xff1a;置信度的初探 这里面讲经研究&#xff0c;有72%的男生喜欢打篮球&#xff0c;…

【Vue】基础语法(创建项目|数据绑定|事件绑定|声明方法|插值表达式|属性值绑定|循环数组|v-if控制||计算属性|监听器|过滤器)

文章目录1. Vue 思想&#xff1a;2. VUE 的基本使用2.1 创建项目并进行基础测试2.2 数据绑定2.3 事件绑定2.4 声明方法2.5 插值表达式2.6 给任意属性绑定值2.7 v-for 循环数组或对象的使用2.8 v-if 和 v-show 控制是否显示2.9 计算属性和监听器属性2.10 过滤器属性3. 总结 Vue …

智慧工程安监物联网+云平台解决方案-最新全套文件

智慧工程安监物联网云平台解决方案-最新全套文件一、建设背景监管部门所处困境建筑施工业存在难点工程现场安全现象二、建设思路实现目标三、建设方案四、获取 - 物联网全套最新解决方案合集一、建设背景 智慧工地 是指运用 信息化 手段&#xff0c;通过 三维 设计平台对 工程…

Linux发行版---常用命令操作快速熟悉

针对linux发行版&#xff08;如ubuntu、raspian等&#xff09;的基础使用说明&#xff0c;以快速熟悉linux发行版的操作。 一、系统信息 查看处理器架构&#xff1a;arch查看内核版本&#xff1a;cat /proc/version; uname -a查看操作系统版本&#xff1a;head -n 1 /etc/iss…