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

C++ list基础概念、list初始化、list赋值操作、list大小操作、list数据插入

list基础概念:list中的每一部分是一个Node,由三部分组成:val、next、prev(指向上一个节点的指针)

list初始化的代码,见下

#include<iostream>
#include<list>using namespace std;void printList(const list<int>& l) {for (list<int>::const_iterator it = l.begin(); it != l.end(); it++) {cout << *it << " ";}cout << endl;
}int main() {// 1 默认构造函数list<int> l1;cout << "l1: ";printList(l1);// 2 初始化列表list<int> l2_1 = { 7,6,5,4,3 };cout << "l2_1: ";printList(l2_1);list<int> l2_2({ 7,5,4,3,2 });cout << "l2_2: ";printList(l2_2);// 3 迭代器list<int> l3(l2_2.begin(), l2_2.end());cout << "l3: ";printList(l3);// 4 全0初始化list<int> l4(8);cout << "l4: ";printList(l4);// 5 初始化a个blist<int> l5(5, 8);cout << "l5: ";printList(l5);// 6 拷贝构造函数list<int> l6(l2_2);cout << "l6: ";printList(l6);return 0;
}

list赋值操作,代码见下

#include<iostream>
#include<list>using namespace std;void printList(const list<int>& l) {for (list<int>::const_iterator it = l.begin(); it != l.end(); it++) {cout << *it << " ";}cout << endl;
}int main() {list<int> l1 = { 5, 6, 7, 3, 1 };list<int> l2;// 1 = l2 = l1;printList(l2);// 2 assign(迭代器)list<int> l3;l3.assign(l1.begin(), l1.end());printList(l3);// 3 assign(初始化列表)list<int> l4;l4.assign({ 5, 9, 1, 2, 4 });printList(l4);// 4 assign(a, b)list<int> l5;l5.assign(5, 4);printList(l5);return 0;
}

list大小操作,代码见下
 

#include<iostream>
#include<list>using namespace std;void printList(const list<int>& l) {for (list<int>::const_iterator it = l.begin(); it != l.end(); it++) {cout << *it << " ";}cout << endl;
}
/*
empty
size
resize
*/
int main() {list<int> l1;cout << "l1.empty() = " << l1.empty() << endl;cout << "l1.size() = " << l1.size() << endl;l1.assign({ 4, 3, 6, 2, 1 });printList(l1);l1.resize(18);cout << "l1.empty() = " << l1.empty() << endl;cout << "l1.size() = " << l1.size() << endl;printList(l1);l1.resize(20, 6);cout << "l1.empty() = " << l1.empty() << endl;cout << "l1.size() = " << l1.size() << endl;printList(l1);l1.resize(1000);l1.resize(7);cout << "l1.empty() = " << l1.empty() << endl;cout << "l1.size() = " << l1.size() << endl;printList(l1);return 0;
}

结果见下,供理解

list数据插入,代码见下:

#include<iostream>
#include<list>using namespace std;void printList(const list<int>& l) {for (list<int>::const_iterator it = l.begin(); it != l.end(); it++) {cout << *it << " ";}cout << endl;
}
/*
push_front
push_back
insert
*/
int main() {list<int> l;//1 push_frontl.push_front(-3);l.push_front(-2);l.push_front(-1);//2 push_backl.push_back(3);l.push_back(2);l.push_back(1);//3 insert(迭代器, 值)list<int>::iterator it = l.begin();it++;l.insert(it, 0);printList(l);//4 insert(迭代器, 数量, 值)it = l.end();--it;l.insert(it, 5, 8);printList(l);//5 insert(迭代器, 迭代器的开始位置, 迭代器的结束位置)it = l.begin();it++;l.insert(it, l.begin(), l.end());printList(l);return 0;
}

运行结果见下,便于理解

相关文章:

C++ list基础概念、list初始化、list赋值操作、list大小操作、list数据插入

list基础概念&#xff1a;list中的每一部分是一个Node&#xff0c;由三部分组成&#xff1a;val、next、prev&#xff08;指向上一个节点的指针&#xff09; list初始化的代码&#xff0c;见下 #include<iostream> #include<list>using namespace std;void printL…...

39. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(函数写法)

39. 自动化异步测试开发之编写异步业务函数、测试函数和测试类&#xff08;函数写法&#xff09; 一、异步业务函数解析 1.1 页面导航函数 async def get(async_driver, url: str http://secure.smartbearsoftware.com/samples/testcomplete12/WebOrders/Login.aspx):await…...

Go语言defer关键字:延迟执行的精妙设计

深度解析Go语言defer关键字&#xff1a;延迟执行的精妙设计 引言 在Go语言中&#xff0c;defer语句是一种独特而强大的控制流机制&#xff0c;它通过​​延迟执行​​的方式解决资源管理、错误处理和异常恢复等关键问题。理解defer的工作原理是掌握Go并发编程和错误处理的关键…...

提升WSL中Ubuntu编译速度的完整指南

在 WSL&#xff08;Windows Subsystem for Linux&#xff09;中使用 make 编译项目时&#xff0c;如果发现编译速度非常慢&#xff0c;通常是由以下几个原因导致的。以下是一些常见的排查和优化方法&#xff1a; &#x1f50d; 一、常见原因及解决方案 ✅ 1. 文件系统性能问题…...

【Linux 学习计划】-- 命令行参数 | 环境变量

目录 命令行参数 环境变量 环境变量的本质是什么&#xff1f; 相关配置文件 修改环境变量的相关操作 代码获取env —— environ 内建命令 结语 命令行参数 试想一下&#xff0c;我们的main函数&#xff0c;也是一个函数&#xff0c;那么我们的main函数有没有参数呢&am…...

服务器Docker容器创建与VScode远程连接SSH使用

一、拉取容器 1、win r 输入cmd打开终端命令行 2、终端输入 ping 192.168.xx.xxx 查看是否连接到服务器。如输出显示“字节 时间 TTL”等如下界面&#xff0c;则连接成功。否则输出“请求超时” 如果不能连接&#xff0c;则需要修改设备的IP&#xff0c;需要在设置-网络和In…...

体现物联网环境下安全防护的紧迫性 :物联网环境下的个人信息安全:隐忧与防护之道

摘要&#xff1a;随着物联网的飞速发展&#xff0c;个人信息在物联网环境下面临的安全风险日益严峻。本文深入探讨了物联网环境下个人信息泄露的主要途径&#xff0c;分析了当前个人信息安全保护面临的挑战&#xff0c;并从技术、法律、企业责任和个人意识等多方面提出了相应的…...

LiveQing 视频点播流媒体 RTMP 推流服务功能:搭建 RTMP 视频流媒体服务详细指南

LiveQing视频点播流媒体RTMP推流服务功能&#xff1a;搭建RTMP视频流媒体服务详细指南 一、流媒体服务搭建二、推流工具准备三、创建鉴权直播间四、获取推流地址五、配置OBS推流六、推流及播放七、获取播放地址7.1 页面查看视频源地址7.2 接口查询 八、相关问题解决8.1 大疆无人…...

LeetCode 高频 SQL 50 题(基础版)之 【连接】部分 · 下

前五道题&#xff1a;LeetCode 高频 SQL 50 题&#xff08;基础版&#xff09;之 【连接】部分 上 题目&#xff1a;577. 员工奖金 题解&#xff1a; select r.name,b.bonus from Employee r left join Bonus b on r.empIdb.empId where b.bonus <1000 or b.bonus is nul…...

【正点原子STM32】RS485串行通信标准(串口基础协议 和 MODBUS协议、总线连接、通信电路、通信波形图、RS485相关HAL库驱动、RS485配置步骤、)

一、RS485介绍 二、RS485相关HAL库驱动介绍 三、RS485配置步骤 四、编程实战 五、总结 串口、 UART、TTL、RS232、RS422、RS485关系 串口、UART、TTL、RS232、RS422和RS485之间的关系可以如此理解&#xff1a; 串口&#xff1a;是一个广义术语&#xff0c;通常指的是采用串行通…...

从SPDY到HTTP/2:网络协议的革新与未来

从SPDY到HTTP/2&#xff1a;网络协议的革新与未来 在互联网的发展史上&#xff0c;协议的演进始终是推动用户体验提升的关键。从早期的HTTP/1.1到如今的HTTP/2&#xff0c;再到即将全面普及的HTTP/3&#xff0c;每一次变革都伴随着性能、安全性和效率的突破。今天&#xff0c;…...

在力扣刷题中触摸算法的温度

在代码的世界里&#xff0c;每一道力扣题目都是一扇通往未知的门。当我推开这些门&#xff0c;与内置求和函数、二进制位运算、辗转相减思想以及链表结构相遇时&#xff0c;才真正触摸到算法的温度 —— 那是一种理性与智慧交织的炽热&#xff0c;也是思维不断淬炼的滚烫。​ 最…...

外部访问可视化监控 Grafana (Windows版本)

Grafana 是一款通用&#xff0c;美观的&#xff0c;强大的可视化监控指标的展示工具。可以将不同的数据源数据以图形化的方式展示。它支持多种数据源&#xff0c;如 Prometheus 等&#xff0c;可以满足不同的需求。也可以通过插件和 API 进行扩展满足各种需求&#xff0c;…...

通用的防御框架,用于抵御(多模态)大型语言模型的越狱攻击

大家读完觉得有帮助记得关注&#xff01;&#xff01;&#xff01; 摘要 尽管&#xff08;多模态&#xff09;大型语言模型&#xff08;LLMs&#xff09;因其卓越的能力而受到广泛关注&#xff0c;但它们仍然容易受到越狱攻击。已经提出了各种防御方法来防御越狱攻击&#xff…...

聊聊JVM怎么调优?(实战总结)

JVM 核心配置与调优指南 一、堆内存与年轻代配置&#xff08;影响最大&#xff09; 堆内存大小&#xff1a; 在资源允许的前提下&#xff0c;堆内存应尽可能设置得更大。关键点&#xff1a; 必须将堆内存的最大值 (-Xmx) 和最小值 (-Xms) 设置为相同值。动态扩容会触发 Full G…...

新能源汽车电控系统的精准守护者PKDV5355高压差分探头

在新能源汽车的"心脏"——电控系统中&#xff0c;每一次电流的精准切换都关乎车辆的性能与安全。PRBTEK PKDV5355高压差分探头就像一位经验丰富的"汽车医生"&#xff0c;帮助工程师们精准捕捉IGBT模块的每一次"心跳"&#xff0c;确保电驱系统健康…...

C# 导出word 插入公式问题

最近遇到了一个问题&#xff0c;下载一个文档时需要下载word可编辑的公式。找了很久终于找到了一种解决办法。下面是以C#代码来实现在Word中插入公式的功能。 目录 一、引入dll程序集文件1、通过 NuGet 引入dll&#xff08;2种方法&#xff09;的方法&#xff1a;2、手动添加d…...

Mac安装配置InfluxDB,InfluxDB快速入门,Java集成InfluxDB

1. 与MySQL的比较 InfluxDBMySQL解释BucketDatabase数据库MeasurementTable表TagIndexed Column索引列FieldColumn普通列PointRow每行数据 2. 安装FluxDB brew update默认安装 2.x的版本 brew install influxdb查看influxdb版本 influxd version # InfluxDB 2.7.11 (git: …...

手撕Java+硅基流动实现MCP服务器教程

手撕Java硅基流动实现MCP服务器教程 一、MCP协议核心概念 MCP是什么 MCP 是 Anthropic (Claude) 主导发布的一个开放的、通用的、有共识的协议标准。 ● MCP 是一个标准协议&#xff0c;就像给 AI 大模型装了一个 “万能接口”&#xff0c;让 AI 模型能够与不同的数据源和工…...

EasyRTC嵌入式音视频通信SDK助力1v1实时音视频通话全场景应用

一、方案概述​ 在数字化通信需求日益增长的今天&#xff0c;EasyRTC作为一款全平台互通的实时视频通话方案&#xff0c;实现了设备与平台间的跨端连接。它支持微信小程序、APP、PC客户端等多端协同&#xff0c;开发者通过该方案可快速搭建1v1实时音视频通信系统&#xff0c;适…...

Prometheus学习之pushgateway和altermanager组件

[rootnode-exporter41 /usr/local/alertmanager-0.28.1.linux-amd64]# pwd /usr/local/alertmanager-0.28.1.linux-amd64[rootnode-exporter41 /usr/local/alertmanager-0.28.1.linux-amd64]# cat alertmanager.yml # 通用配置 global:resolve_timeout: 5msmtp_from: 914XXXXX…...

01 redis 的环境搭建

前言 这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建 主要的目的是 搭建一个可打断点的一个调试环境 c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试 需要有一定的 c, c, java, js 相关基础 基于的…...

《操作系统真相还原》——加载器

显存 将上一章的中断输出&#xff0c;变为显存输出 加载器 使用mbr引导程序从磁盘中加载loader程序。 MBR %include "boot.inc" SECTION MBR vstart0x7c00 mov ax,cs mov ds,axmov es,axmov ss,axmov fs,axmov sp,0x7c00mov ax,0xb800mov gs,ax;cl…...

电网即插即用介绍

一、统一设备信息模型与标准接口 实现即插即用功能的基础在于建立统一的设备信息模型。不同厂家生产的各类电网设备&#xff0c;其内部结构、通信协议、数据格式等往往千差万别。通过制定统一的设备信息模型&#xff0c;能够对设备的各种属性、功能以及接口进行标准化定义&…...

HJ25 数据分类处理【牛客网】

文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 HJ25 数据分类处理 一、题目描述 二、测试用例 三、解题思路 基本思路&#xff1a;   首先理解题目&#xff0c;题目要求对规则集先进行排序&#xff0c;然后去重&#xff0c;这一步我…...

spring-boot redis lua脚本实现滑动窗口限流

因为项目中没有集成redisson&#xff0c;但是又需要用到限流&#xff0c;所以简单的将redisson中限流的核心lua代码移植过来&#xff0c;并进行改造&#xff0c;因为公司版本的redis支持lua版本为5.1&#xff0c;针对于长字符串的数字&#xff0c;使用tonumber转换的时候会得到…...

USB MSC

主机&#xff08;如电脑&#xff09;识别USB MSC&#xff08;Mass Storage Class&#xff09;设备中的文件&#xff0c;本质上是通过多层协议协作实现的&#xff0c;涉及USB枚举、SCSI命令传输和文件系统解析三个核心环节。以下是详细机制&#xff1a; &#x1f50d; ​一、USB…...

css实现文字渐变

在前端开发中&#xff0c;给文字设置渐变色是完全可以实现的&#xff0c;常用的方式是结合 CSS 的 background、-webkit-background-clip 和 -webkit-text-fill-color 属性。下面是一个常见的实现方法&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> …...

FART 自动化脱壳框架一些 bug 修复记录

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ open() 判断不严谨 https://github.com/CYRUS-STUDIO/FART/blob/master/fart10/art/runtime/art_method.cc 比如&#xff1a; int dexfilefp open(dex_pat…...

基于Flask实现豆瓣Top250电影可视化

项目截图 概述 该项目旨在对豆瓣Top 250电影进行全面的数据分析&#xff0c;使用了Python爬虫、Flask框架进行开发&#xff0c;并采用了Echarts进行数据可视化以及WordCloud进行词云分析。应用展示了多个功能&#xff0c;如电影列表、评分分布、词频统计和团队信息。 主要功能…...