C++之list

C++之list

在这里插入图片描述

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

list的构造

在这里插入图片描述

#include <iostream>
#include<list>
using namespace std;//打印函数
void printfList(const list<int>&L)
{for(list<int>::const_iterator it = L.begin();it != L.end();it++){cout<<*it<<" ";}cout<<endl;
}
//list容器的构造函数
void  test()
{//创建list容器list<int>L1;//默认构成//添加元素L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历打印输出printfList(L1);//区间构造list<int>L2(L1.begin(),L1.end());printfList(L2);//n个元素构造list<int>L3(4,100);printfList(L3);//拷贝构造list<int>L4(L2);printfList(L4);
}int main()
{test();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

list赋值和交换

在这里插入图片描述

#include <iostream>
#include<list>
using namespace std;//打印函数
void printfList(const list<int>&L)
{for(list<int>::const_iterator it = L.begin();it != L.end();it++){cout<<*it<<" ";}cout<<endl;
}
//list容器的赋值和交换
void  test()
{//创建list容器list<int>L1;//默认构成//添加元素L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历打印输出printfList(L1);//赋值list<int>L2;L2 = L1;//operator =printfList(L2);list<int>L3;L3.assign(L2.begin(),L2.end());printfList(L3);list<int>L4;L4.assign(4,100);printfList(L4);}int main()
{test();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

#include <iostream>
#include<list>
using namespace std;//打印函数
void printfList(const list<int>&L)
{for(list<int>::const_iterator it = L.begin();it != L.end();it++){cout<<*it<<" ";}cout<<endl;
}
//list容器的赋值和交换
void  test()
{cout<<"交换前"<<endl;//创建list容器list<int>L1;//默认构成//添加元素L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历打印输出printfList(L1);list<int>L4;L4.assign(4,100);printfList(L4);cout<<"交换后"<<endl;L1.swap(L4);printfList(L1);printfList(L4);
}int main()
{test();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

list的大小操作

在这里插入图片描述

#include <iostream>
#include<list>
using namespace std;//打印函数
void printfList(const list<int>&L)
{for(list<int>::const_iterator it = L.begin();it != L.end();it++){cout<<*it<<" ";}cout<<endl;
}
//list容器
void  test()
{//创建list容器list<int>L1;//默认构成//添加元素L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历打印输出printfList(L1);//判断是否为空if(L1.empty()){cout<<"L1 is empty"<<endl;}else{cout<<"L1 is not empty"<<endl;cout<<"L1's size is "<<L1.size()<<endl;}//重新指定大小L1.resize(10,100);printfList(L1);L1.resize(2);printfList(L1);
}int main()
{test();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

list插入和删除

在这里插入图片描述

#include <iostream>
#include<list>
using namespace std;//打印函数
void printfList(const list<int>&L)
{for(list<int>::const_iterator it = L.begin();it != L.end();it++){cout<<*it<<" ";}cout<<endl;
}
//list容器
void  test()
{//创建list容器list<int>L1;//默认构成//尾插L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//头插L1.push_front(100);L1.push_front(200);L1.push_front(300);L1.push_front(400);//遍历打印输出printfList(L1);//尾删L1.pop_back();printfList(L1);//头删L1.pop_front();printfList(L1);//插入list<int>::iterator it=L1.begin();L1.insert(++it,1000);printfList(L1);//删除it = L1.begin();L1.erase(++it);printfList(L1);//移除L1.push_back(10000);L1.push_back(10000);L1.push_back(10000);L1.push_back(10000);printfList(L1);L1.remove(10000);printfList(L1);//清空L1.clear();printfList(L1);}int main()
{test();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

list数据存取

在这里插入图片描述

#include <iostream>
#include<list>
using namespace std;//打印函数
void printfList(const list<int>&L)
{for(list<int>::const_iterator it = L.begin();it != L.end();it++){cout<<*it<<" ";}cout<<endl;
}
//list容器
void  test()
{//创建list容器list<int>L1;//默认构成//尾插L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历打印输出printfList(L1);cout<<"第一个元素为:"<<L1.front()<<endl;cout<<"最后一个元素:"<<L1.back()<<endl;}int main()
{test();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

list反转和排序

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

#include <iostream>
#include<list>
using namespace std;//打印函数
void printfList(const list<int>&L)
{for(list<int>::const_iterator it = L.begin();it != L.end();it++){cout<<*it<<" ";}cout<<endl;
}bool MyCompare(int v1,int v2)
{//降序就是让第一个数大于第二个数 V1>V2return v1>v2;
}//list容器
void  test()
{//创建list容器list<int>L1;//默认构成//尾插L1.push_back(50);L1.push_back(20);L1.push_back(10);L1.push_back(40);cout<<"反转前:"<<endl;//遍历打印输出printfList(L1);L1.reverse();cout<<"反转后:"<<endl;printfList(L1);//排序cout<<"排序前:"<<endl;printfList(L1);//所有不支持随机访问迭代器的容器,不可以用标准算法//不支持随机访问迭代器的容器,内部会提供对应一些算法//sort(L1. begin(), L1.end()) ;L1.sort();//默认是升序cout<<"排序后:"<<endl;printfList(L1);L1.sort(MyCompare);//降序cout<<"排序后:"<<endl;printfList(L1);}int main()
{test();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis运维(十)列表

一 列表 强调&#xff1a; 知道原生redis具备的能力,以便后续API调用 ① 基础概念 备注&#xff1a; 单个list最多2^32-1个元素 列表操作常用命令,涉及&#xff1a;CURD ② lpush 左插入 说明&#xff1a; 如果key不存在就会初始化,否则就是插入元素备注&#xff1a; l…

腾讯云服务器新用户专享优惠券,腾讯云新用户代金券领取入口汇总

什么是腾讯云新用户专享优惠券&#xff1f; 腾讯云新用户专享优惠券是腾讯云为新用户提供的一种特别优惠。你可以在购买腾讯云服务器时使用这些优惠券&#xff0c;以更低的价格获得优质的云服务。 为了回馈广大新用户&#xff0c;腾讯云服务器推出了一系列优惠活动&#xff0…

sql注入 [极客大挑战 2019]LoveSQL 1

打开题目 几次尝试&#xff0c;发现输1 1"&#xff0c;页面都会回显NO,Wrong username password&#xff01;&#xff01;&#xff01; 只有输入1&#xff0c;页面报错&#xff0c;说明是单引号的字符型注入 那我们万能密码试试能不能登录 1 or 11 # 成功登录 得到账号…

Stable Diffusion WebUI使用AnimateDiff插件生成动画

AnimateDiff 可以针对各个模型生成的图片&#xff0c;一键生成对应的动图。 配置要求 GPU显存建议12G以上&#xff0c;在xformers或者sdp优化下显存要求至少6G以上。 要开启sdp优化&#xff0c;在启动参数加上--sdp-no-mem-attention 实际的显存使用量取决于图像大小&#…

Linux安装RabbitMQ详细教程

一、下载安装包 下载erlang-21.3-1.el7.x86_64.rpm、rabbitmq-server-3.8.8-1.el7.noarch.rpm 二、安装过程 1、解压erlang-21.3-1.el7.x86_64.rpm rpm -ivh erlang-21.3-1.el7.x86_64.rpm2、安装erlang yum install -y erlang3、查看erlang版本号 erl -v4、安装socat …

设计模式解码:软件工程架构的航标

引言 软件工程领域的设计模式&#xff0c;就像是建筑师手中的设计蓝图&#xff0c;它们是经验的总结&#xff0c;指导开发者如何在面对层出不穷的编程难题时&#xff0c;构建出既稳固又灵活的软件结构。就像一座经过精心设计的大厦能够经受住风雨的考验一样&#xff0c;一个利用…

云计算和跨境电商:数字化未来的基石

云计算和跨境电商两者结合&#xff0c;共同塑造着当今数字化时代的商业未来。这两个领域的发展&#xff0c;为企业提供了前所未有的机会&#xff0c;使他们能够扩展国际业务、提高效率&#xff0c;以及为全球市场提供更多产品和服务。本文将深入探讨云计算如何成为跨境电商的数…

汽车 CAN\CANFD数据记录仪

CAN FD数据记录仪解决汽车电子数据记录与偶发性故障查找问题。 1、脱机离线记录两路CAN/CANFD通道数据 脱机离线记录两路CAN/CANFD通道数据&#xff0c;可记录6个月数据。每个通 道单独设置触发记录模式、触发前预记录报文个数&#xff08;默认1000帧&#xff09;及 过滤规则&a…

基于单片机的自动变速箱电控系统

**单片机设计介绍&#xff0c; 基于单片机的自动变速箱电控系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的自动变速箱电控系统是一种通过单片机来控制车辆自动变速箱的系统。它借助传感器和单片机的协同工作&am…

黑豹程序员-SpringCloudAlibaba聚合工程打包和运行

文章目录 1、SpringCloudAlibaba项目结构2、打包配置3、打包4、运行 1、SpringCloudAlibaba项目结构 2、打包配置 3、打包 4、运行 java -jar rms-parent.jar

工作记录--(用HTTPS,为啥能被查出浏览记录?如何解决?)---每天学习多一点

由于网络通信有很多层&#xff0c;即使加密通信&#xff0c;仍有很多途径暴露你的访问地址&#xff0c;比如&#xff1a; DNS查询&#xff1a;通常DNS查询是不会加密的&#xff0c;所以&#xff0c;能看到你DNS查询的观察者&#xff08;比如运营商&#xff09;是可以推断出访问…

【C++学习手札】模拟实现vector

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;くちなしの言葉—みゆな 0:37━━━━━━️&#x1f49f;──────── 5:28 &#x1f504; ◀️ ⏸ ▶️ ☰…

开发企业微信群机器人,实现定时提醒

大家好&#xff0c;我是鱼皮&#xff0c;今天分享一个用程序解决生活工作问题的真实案例。 说来惭愧&#xff0c;事情是这样的&#xff0c;在我们公司&#xff0c;每天都要轮流安排一名员工&#xff08;当然也包括我&#xff09;去楼层中间一个很牛的饮水机那里接水。但由于大…

Qt Jom Parallel Builds 并行构造

1.Qt官网下载 Jom - Qt Wiki 下载jom源码 git clone git://code.qt.io/qt-labs/jom.git 2.生成makefile qmake -r 进入jom源码目录 执行qmake -r 3.编译 nmake jom编译成功 4.复制到qmake所在目录并运行

QTcpSocket发送结构体的做法

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> QTcpSocket发送结构体其实很简单:使用QByteArray类对象进行封装发送&#xff0c;示例代码如下&#xff1a; /* 消息结构体 */ struct stMsg {int m_A…

论文笔记——BiFormer

Title: BiFormer: Vision Transformer with Bi-Level Routing AttentionPaper: https://arxiv.org/pdf/2303.08810.pdfCode: https://github.com/rayleizhu/BiFormer 一、前言 众所周知&#xff0c;Transformer相比于CNNs的一大核心优势便是借助自注意力机制的优势捕捉长距离…

如何选择合适的数据库管理工具?Navicat Or DBeaver

写在前面 在阅读本文之前&#xff0c;糖糖给大家准备了Navicat和DBeaver安装包&#xff0c;在公众号内回复“Navicat”或“DBeaver”或"数据库管理工具"来下载。 引言 对于测试而言&#xff0c;在实际工作中往往会用到数据库&#xff0c;那么选择使用哪种类型的数…

Linux---(七)Makefile写进度条(三个版本)

文章目录 一、前提引入&#x1f397;️下面的代码什么现象&#xff1f;&#x1f397;️下面的代码什么现象&#xff1f; 二、缓冲区三、回车换行&#x1f397;️注意&#x1f397;️图解&#x1f397;️老式回车键造型&#xff08;意思是充当两个动作&#xff09;&#x1f397;…

Linux基本指令及周边(第一弹)

文章目录 前言mkdir指令&#xff08;重要&#xff09;&#xff1a;tree指令rmdir指令 && rm 指令(重要&#xff09;&#xff1a;touch指令ls指令pwd指令cd 指令用户家目录man指令&#xff08;重要&#xff09;&#xff1a;mv指令&#xff08;重要&#xff09;cat指令绝…

【华为OD机试高分必刷题目】神奇的卡片(C++等差数列实现)

&#x1f680;你的旅程将在这里启航&#xff01;本专栏所有题目均包含优质解题思路&#xff0c;高质量解题代码&#xff0c;详细代码讲解&#xff0c;助你深入学习&#xff0c;高分通过&#xff01; 文章目录 【华为OD机试高分必刷题目】神奇的卡片&#xff08;C等差数列实现&a…