【STL】11 list容器操作
#include<iostream>
#include<list>
using namespace std;void test01(){list<int> mlist1;list<int> mlist2(10,10); //有参构造 list<int> mlist3(mlist2); //拷贝构造 list<int> mlist4(mlist3.begin(),mlist3.end());for(list<int>::iterator i = mlist4.begin();i!=mlist4.end();i++)cout<<*i<<" ";cout<<endl;
}void test02(){list<int> mlist;mlist.push_back(1);mlist.push_back(2);mlist.insert(mlist.begin(),3); //在链头插入元素 mlist.insert(mlist.end(),4); //在链尾插入元素 list<int>::iterator i = mlist.begin();i++;i++;mlist.insert(i,6); //在第2个位置插入元素 //打印 for(i=mlist.begin();i!=mlist.end();i++)cout<<*i<<" ";cout<<endl;//删除mlist.pop_back(); //删除链尾元素 mlist.pop_front(); //删除链头元素 //mlist.erase(mlist.begin(),mlist.end());//打印for(i=mlist.begin();i!=mlist.end();i++)cout<<*i<<" ";cout<<endl;mlist.remove(1);//删除匹配所有值 //打印for(i=mlist.begin();i!=mlist.end();i++)cout<<*i<<" ";cout<<endl;
}//赋值操作
void test03(){list<int> mlist1;mlist1.assign(10,10);list<int> mlist2 = mlist1;mlist2.swap(mlist1);
}
//反转
void test04(){list<int> mlist;for(int i=0;i<10;i++)mlist.push_back(i);//打印 for(list<int>::iterator i = mlist.begin();i!=mlist.end();i++)cout<<*i<<" ";cout<<endl;//反转 操作mlist.reverse();//打印 for(list<int>::iterator i = mlist.begin();i!=mlist.end();i++)cout<<*i<<" ";cout<<endl;
} bool MyCompare(int v1,int v2){return v1 > v2;
}//排序
void test05(){list<int> mlist;mlist.push_back(5); mlist.push_back(3); mlist.push_back(1); mlist.push_back(2); mlist.push_back(4); //打印 for(list<int>::iterator i = mlist.begin();i!=mlist.end();i++)cout<<*i<<" ";cout<<endl; //排序(从小到大) mlist.sort(); //这是专属于list的成员方法 //算法 sort 支持可随机访问的容器 //但list不支持随机访问,所以list容器有一个专属的sort,迭代器只能++操作//打印 for(list<int>::iterator i = mlist.begin();i!=mlist.end();i++)cout<<*i<<" ";cout<<endl; //排序(从大到小) mlist.sort(MyCompare); //打印 for(list<int>::iterator i = mlist.begin();i!=mlist.end();i++)cout<<*i<<" ";cout<<endl;
}
int main(){test01();test02();test03();test04();test05();return 0;
}
【STL】11 list容器操作相关推荐
- C++ STL 关联式容器操作总结
文章目录 set/multiset容器 set/multiset对象的构造 set/multiset的常规操作 set/multiset其他操作 map\multimap容器 map/multimap ...
- C++primer第十一章 关联容器 11.3关联容器操作 11.4 无序容器
11.3关联容器操作 除了表9.2(第295页)中列出的类型,关联容器还定义了表11.3中列出的类型.这些类型表示容器关键字和值的类型. 对于set类型,key_type和value type是一样的 ...
- STL 之 deque容器详解
Deque 容器 deque容器是C++标准模版库(STL,Standard Template Library)中的部分内容.deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中 ...
- 【C++ STL学习笔记】C++ STL序列式容器(array,vector,deque,list)
文章目录 C++ STL容器是什么? 迭代器是什么,C++ STL迭代器(iterator)用法详解 迭代器类别 迭代器的定义方式 C++序列式容器(STL序列式容器)是什么 容器中常见的函数成员 C ...
- STL中基本容器有: string、vector、list、deque、set、map
为什么80%的码农都做不了架构师?>>> 在STL中基本容器有: string.vector.list.deque.set.map set 和map都是无序的保存元素,只能通过 ...
- STL 之 list 容器详解
STL之list容器详解 List 容器 list是C++标准模版库(STL,Standard Template Library)中的部分内容.实际上,list容器就是一个双向链表,可以高效地进行插入 ...
- Docker常用命令操作——1)、镜像操作;2)、容器操作
Docker常用命令&操作 1).镜像操作 https://hub.docker.com/ 操作 命令 说明 检索 docker search 关键字 eg:docker search red ...
- STL——关联式容器
一.关联式容器 标准的STL关联式容器分为set(集合)/map(映射表)两大类,以及这两大类的衍生体multiset(多键集合)和 multimap(多键映射表).这些容器的底层机制均以RB-tre ...
- C++STL的 list容器
C++STL的 list容器 list基本概念 list构造函数 list 赋值和交换 list 大小操作 list 插入和删除 list 数据存取 list 反转和排序 排序案例 list基本概念 ...
最新文章
- NIS 服务器的配置
- maven_结合使用嵌入式Tomcat和Maven tomcat插件
- java guava 使用_java – 使用Guava从属性文件创建对象
- 牛客 数学实验(模拟)
- POJ1521 LA2088 HDU1053 ZOJ1117 Entropy【哈夫曼编码】
- playbook管理配置文件
- 什么是Joint Escalation Team?
- PADS Router 布线不显示粗细问题的解决
- 用什么软件测试电视盒子真假,网络机顶盒哪个好?专业盒子测评告诉你哪款最值得买...
- 神经机器翻译中的曝光偏差,幻觉翻译与跨域稳定性
- printf如何按二进制格式打印
- NVMe ssd加速卡和NVMe ssd硬盘的区别
- turtle(海龟)知识点整理
- 微信小程序搜索框 回车搜索事件
- 微信昵称加「福」字,最新官方攻略来了!
- ifconfig命令
- C++11 异步操作future和aysnc
- 小明最近迷上了化学,几乎天天在实验室做实验,但是很多实验生成的化学产物的相对分子质量令他很困惑,不知如何计算,请你编程帮他计算
- bugku~小山丘的秘密
- 智能手机是计算机的一种吗,智能手机是什么
热门文章
- html心碎粒子特效,system-data.html
- Easypack: JEECG的容器化编译环境快速构建
- 【Selenium】Selenium的3种等待方式
- flask导入mysql数据库_flask 数据库报错
- T-Bootstrap-day04-组件、boot的定制、scss基础语法和函数
- 哪些技术会决定前端开发者的未来发展?
- ubuntn下串口工具minicom ,kermit的使用
- GNN在推荐系统的应用——>GC-MC与STAR-GCN
- GAMES101课程学习笔记—Lec 14(2)~16:Ray Tracing(2) BRDF、渲染方程、全局光照、路径追踪
- c语言贾宗璞答案,c语言程序设计答案贾宗璞 许合利