C++ list (链表)容器

embedded/2024/11/24 19:26:27/

C++  list  链表

#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{for (list<int>::const_iterator it = L.begin(); it !=L.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历元素printList(L1);//区间方式构造list<int>L2(L1.begin(), L1.end());printList(L2);//拷贝构造list<int>L3(L2);printList(L3);//n个elemlist<int>L4(10, 1000);printList(L4);
}int main()
{test01();system("pause");return 0;
}

#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{for (list<int>::const_iterator it = L.begin(); it !=L.end(); it++){cout << *it << " ";}cout << endl;
}void test02()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);printList(L1);list<int>L2;L2 = L1;		// operater =printList(L2);list<int>L3;L3.assign(L2.begin(),L2.end());printList(L3);list<int>L4;L4.assign(10,1000);printList(L4);}void test03()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);list<int>L2;L2.assign(10, 1000);cout << "交换前:" << endl;printList(L1);printList(L2);L1.swap(L2);cout << "交换后:"<<endl;printList(L1);printList(L2);}int main()
{//test01();test02();test03();system("pause");return 0;
}

#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{for (list<int>::const_iterator it = L.begin(); it !=L.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历元素printList(L1);if (L1.empty()) {cout << "L1为空" << endl;}else {cout << "L1不为空" << endl;cout << "L1的元素个数为:"<<L1.size() << endl;}//重新指定大小L1.resize(10,1000);printList(L1);L1.resize(2);printList(L1);}

#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{if (L.empty()) {cout<<"为空"<<endl;return;}for (list<int>::const_iterator it = L.begin(); it != L.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);//头插L1.push_front(100);L1.push_front(200);L1.push_front(300);//300 200 100 10 20 30//遍历元素printList(L1);//尾删L1.pop_back();//300 200 100 10 20printList(L1);//头删L1.pop_front();//200 100 10 20printList(L1);//insert插入list<int>::iterator it = L1.begin();L1.insert(++it, 1000);//200 1000 100 10 20printList(L1);//删除it = L1.begin();L1.erase(it);//1000 100 10 20printList(L1);//移除L1.push_back(10000);L1.push_back(10000);L1.push_back(10000);L1.push_back(10000);printList(L1);L1.remove(10000);printList(L1);L1.clear();printList(L1);}int main()
{test01();return 0;
}

#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{if (L.empty()) {cout<<"为空"<<endl;return;}for (list<int>::const_iterator it = L.begin(); it != L.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);cout << "第一个元素为:" << L1.front() << endl;cout << "最后一个元素为:" << L1.back() << endl;//验证 iterater ssslist<int>::iterator it = L1.begin();it++; //支持双向it--;//it=it+1 //不支持双向访问
}int main()
{test01();return 0;
}

#include<iostream>
using namespace std;
#include<list>
#include<algorithm>
void printList(const list<int>& L)
{if (L.empty()) {cout<<"为空"<<endl;return;}for (list<int>::const_iterator it = L.begin(); it != L.end(); it++){cout << *it << " ";}cout << endl;
}bool mycmp(int a,int b)
{return a>b;
}//list 容器反转和排序void test01()
{//创建list容器list<int>L1;L1.push_back(30);L1.push_back(50);L1.push_back(20);L1.push_back(10);L1.push_back(40);cout << "反转之前:" << endl;printList(L1);//反转L1.reverse();cout << "反转后" << endl;printList(L1);//所有不支持随机访问迭代器的容器,不可以用标准算法//不支持随机访问迭代器的容器,内部会提供对应一些算法//sort(L1.begin(), L1.end());L1.sort();		//默认排序规则  从小到大	升序cout << "排序后:" << endl;printList(L1);L1.sort(mycmp);cout << "排序后:" << endl;printList(L1);}int main()
{test01();return 0;
}


http://www.ppmy.cn/embedded/140189.html

相关文章

Sourcetree登录GitLab账号

1. 在GitLab上创建个人访问令牌 在gitlab中点击右上角的头像图标&#xff0c;选择设置进入 Access Tokens&#xff08;访问令牌&#xff09; 页面填写令牌名称和到期时间&#xff0c;指定Scopes&#xff08;范围&#xff09;。一般选择read_repository和api点击 Create person…

查看浏览器的请求头

爬虫时用到了请求头&#xff0c;虽然可以用网上公开的&#xff0c;但是还是想了解一下本机浏览器的。以 Edge 为例&#xff0c;其余浏览器通用。 打开浏览器任一网页&#xff0c;按F12打开DevTools&#xff1b;或鼠标右键&#xff0c;选择“检查”。首次打开界面应该显示在网页…

【LeetCode】每日一题 2024_11_23 矩阵中的蛇(哈希、计数)

前言 每天和你一起刷 LeetCode 每日一题~ 本期看点&#xff1a;算法基本功之哈希计数 LeetCode 启动&#xff01; 题目&#xff1a;求出胜利玩家的数目 代码与解题思路 先读题&#xff1a;题目给了 n 个玩家&#xff0c;和一个 pick 数组&#xff0c;pick 数组中 x 表示玩家…

ubuntu16.04在ros使用USB摄像头-解决could not open /dev/video0问题

首先检查摄像头 lsusb 安装 uvc camera 功能包 sudo apt-get install ros-indigo-uvc-camera 安装 image 相关功能包 sudo apt-get install ros-kinetic-image-* sudo apt-get install ros-kinetic-rqt-image-view运行 uvc_camera 节点 首先输入roscore 然后另外开一个终端输入…

24小时自动监控,自动录制直播蓝光视频!支持抖音等热门直播软件

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 工具特点📒📝 使用🎈 获取方式 🎈⚓️ 相关链接 ⚓️📖 介绍 📖 对于许多直播爱好者和内容创作者而言,错过心爱的直播或难以搜集视频素材始终是一个难题。今天,给大家分享的这款工具可以轻松解决这个问题,它拥有…

丹摩|重返丹摩(下)

目录 四.模型构建与训练 1.模型选择 (1). 机器学习模型 (2). 深度学习模型 (3). AutoML 功能 2.参数配置 (1). 模型参数 (2). 数据划分 (3). 超参数优化 3.模型训练与评估 (1). 训练模型 (2). 查看训练结果 (3). 模型评估 五.模型部署与应用 1.模型部署 (1). 直…

深入探索Solana链上的Meme生态:创新、潜力与挑战#区块链开发#dapp开发

随着区块链技术的快速发展&#xff0c;各类加密资产生态系统如雨后春笋般涌现。在这些生态中&#xff0c;Meme 文化逐渐成为一个不可忽视的现象。特别是在 Solana&#xff08;SOL&#xff09;公链上&#xff0c;Meme 生态展现出了与众不同的活力与潜力。本文将从 Meme 的定义与…

深度学习神经网络中的优化器的使用

深度学习:神经网络中的优化器的使用 在深度学习中&#xff0c;优化器是用于更新和调整模型参数&#xff08;例如权重和偏置&#xff09;的算法&#xff0c;目的是减小模型在训练数据上的损失函数值。优化器的核心目标是通过适当的算法快速有效地找到损失函数的最小值或近似最小…