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;
}

相关文章:
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<…...
C语言日记——调试篇
一、调试调试的基本步骤 发现程序错误的存在 以隔离、消除等方式对错误进行定位 确定错误产生的原因 提出纠正错误的解决办法 对程序错误予以改正,重新测试 二、Debug和Release Debug通常称为调试版本,它包含调试信息,并且不作任何优化…...
【python】Django——templates模板、静态文件、django模板语法、请求和响应
笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 【Django专栏】 Django——django简介、django安装、创建项目、快速上手 Django——templates模板、静态文件、django模板语法、请求和响应 Django——连接mysql数据库 Django——templates模板、静态文件、djang…...
Android设计模式--观察者模式
时间是一只藏在黑暗中温柔的手,在你一出神一恍惚之间,物走星移 一,定义 观察者模式是定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新 字面意思很好理解&am…...
【Linux】Ubuntu16.04下安装python高版本--源码安装
Ubuntu16.04下完美安装python高版本及对应版本的pip 方法一:直接用命令安装python3.6(但我没安装成功) 好像是因为Ubuntu16.04的软件仓库(源)中python的最高版本就是python3.5,所以无法直接用apt来安装 #方法一 sudo…...
变长子网划分问题的二叉树解法
计网的变长子网划分、计组的变长操作码划分、数据结构的哈夫曼编码,都是前缀编码的本质(变长操作码的二叉树解法我还在琢磨中) 【二叉树解法】每条从叶结点到根节点的路径上有且只有一个被分配的结点: 【例】现将一个IP网络划分成…...
编译安装redis及配置多实例
yum安装是这种十分简单的方法我们就不在提及了,今天我们来做一下redis的编译安装 Redis源码包官方下载链接:http://download.redis.io/releases/ 一、编译安装: 安装依赖包 dnf -y install make gcc jemalloc-devel systemd-devel如果是…...
网络(一)总纲
一 总纲 ① 背景 1、该资料不管是在华为内部还是外部都是很出名的2、该教程仅仅作为个人笔记,形成自己的网络知识体系,自己会按照教程手把手做实验,copy图谱备注: 自己没有处理过物理网和虚拟网,所以会以一个小白的角度去理解,可能存在偏差3、立足点:…...
WPF中的App类介绍
在WPF (Windows Presentation Foundation) 应用程序中,App 类扮演着很重要的角色。这个类通常在每个WPF应用程序中都会有,并且生成在App.xaml文件和其代码后台App.xaml.cs中。App类通常继承自System.Windows.Application类,并且有以下的主要职…...
.nc格式文件的显示及特殊裁剪方式
最近我们遇到一个nc格式的文件,需要将它做成报告插图,bing搜索一番以后,了解到nc的全名为NetCDF(network Common Data Form),是一种网络通用数据格式,广泛用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。…...
为什么需要线程池?C++如何实现一个线程池?
为什么需要线程池?C如何实现一个线程池? 为什么需要线程池?C如何实现一个线程池?...
多视图聚类的论文阅读
当聚类的方式使用的是某一类预定义好的相似性度量时, 会出现如下情况: 数据聚类方面取得了成功,但它们通常依赖于预定义的相似性度量,而这些度量受原始方法的影响:当输入维数相对较高时,往往是无效的。 1. Deep Mult…...
shell脚本适用场景
1.适用场景 Shell脚本是一种用于自动化和批量处理任务的脚本语言。它通常在Unix/Linux系统中使用,并且被广泛应用于各种场景,包括但不限于以下几个方面: 自动化任务:Shell脚本可以用于编写自动化脚本,完成一系列重复性…...
Bash openldap同步AD组织数据
将AD的ou同步到openldap(可支持全量同步和增量同步) 整体思路如下: 从ad导出所有的数据,然后进行参数替换以及处理,处理后的文件称为A;从openldap导出所有的数据,然后进行参数替换以及处理&am…...
C#WPF文本转语音实例
本文介绍C#WPF文本转语音实例 实现方法:使用类库(SpeechSynthesizer )实现的。 一、首先是安装程序包。 二、创建项目 需要添加引用using System.Speech.Synthesis; UI界面 <Windowx:Class="TextToSpeechDemo.MainWindow"xmlns="http://schemas.micr…...
08-流媒体-RTMP拉流
整体方案: 采集端:摄像头采集(YUV)->编码(YUV转H264)->写封装(H264转FLV)->RTMP推流 客户端:RTMP拉流->解封装(FLV转H264)…...
一键免费去除视频水印和字幕的AI工具
最近有学员经常让我分享好用的智能抹除视频水印字幕AI工具,今天就给大家分享一个我经常用到的这款工具——腾讯智影,这个平台提供的智能抹除功能,借助这个工具我们可以将视频中不需要的字幕或者水印删除掉。 不过这款工具每天有三次免费次数…...
实验六:Android的网络编程基础
实验六:Android 的网络编程基础 6.1 实验目的 本次实验的目的是让大家熟悉 Android 开发中的如何获取天气预报,包括了 解和熟悉 WebView、WebService 使用、网络编程事件处理等内容。 6.2 实验要求 熟悉和掌握 WebView 使用 了解 Android 的网络编程…...
09-流媒体-FLV解复用
整体方案: 采集端:摄像头采集(YUV)->编码(YUV转H264)->写封装(H264转FLV)->RTMP推流 客户端:RTMP拉流->解封装(FLV转H264)…...
信息的浏览
万维网(WWW)是目前Internet上最流行的一种服务,它是建立在Internet上的多媒体集合信息系统。它利用超媒体的信息获取技术,通过一种超文本的表达方式,将所有WWW上的信息连接在一起。我们使用浏览器浏览网上的信息。 ▶浏览器 浏览器是指可以…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
