C++ 标准库的双向链表
//std list//初始化方式list<string> Nodelist;list<string> Nodelist1({ "sda","dsad","dsa","dsa" });list<string> Nodelist2 = { "sda","dsad","dsa","dsa" };list<string> Nodelist3 = Nodelist1; //深拷贝list<string> Nodelist5(Nodelist1); //深拷贝string a11[] = { "sda","dsad","dsa","dsa" };list<string> NodeList4(a11, a11 + 2);//List添加NodeList4.push_back("xxxx");NodeList4.push_back("xx2xx");NodeList4.push_front("xx2xx");NodeList4.push_front("xx2xx");NodeList4.pop_back();NodeList4.pop_front();NodeList4.emplace_back("RRR"); //比push_back少执行一次拷贝构造NodeList4.emplace_front("FFFF");//赋值NodeList4.assign({ "dsadw","dsacs","ewq","csad" });NodeList4.assign({});NodeList4.assign(Nodelist1.begin(), Nodelist1.end());NodeList4.assign(100, "0000");NodeList4.emplace_front("FFFF222");//移除NodeList4.erase();NodeList4.size();NodeList4.clear();NodeList4.swap(Nodelist3);//插入NodeList4.insert(NodeList4.begin(), "fewfwe");NodeList4.insert(NodeList4.begin(), { "fewfwe" ,"dsadwq","csadeqw" });NodeList4.insert(NodeList4.end(), Nodelist1.begin(), Nodelist1.end());NodeList4.sort();list<int> ddd = { 321,53,1234,34 };ddd.sort(); //升序ddd.sort(greater<int>()); //降序//移除ddd.remove(321);ddd.remove_if([](int v) {return v > 50; }); //范围性的移除ddd.unique();struct FHello{FHello(){a = 0;}FHello(int newa):a(newa){}int a;bool operator==(const FHello& v){return a == v.a;}};list<FHello> llo;llo.push_front(FHello(1));llp.push_front(FHello(1));llp.push_front(FHello(1));llp.push_front(FHello(2));llp.push_front(FHello(2));llo.unique();//list遍历for (auto It = NodeList4.begin(); It != NodeList4.end(); It++){cout << *It << endl;}for (auto& Tmp : NodeList4){cout << Tmp << endl;}for (auto It = NodeList4.cbegin(); It != NodeList4.cend(); It++){cout << *It << endl;}for (auto It1 = NodeList4.rbegin(); It1 != NodeList4.rend(); It1++){cout << *It1 << endl;advance(It1, 2);}auto ListV = { 1,2,3,4,5 }; //逆序for (auto It = rbegin(ListV); It != rend(ListV); ++It){cout << *It << endl;}//正序for (auto It = begin(ListV); It != end(ListV); ++It){cout << *It << endl;}
C++ 标准库的双向链表相关推荐
- C++_泛型编程与标准库(五)
C++_泛型编程与标准库(五) 图中标红部分为自己的笔记理解 1.容器与容器之间的关系 2.深度探索list list是双向链表,从vc2019的list源码和以下图片都可以看出 template & ...
- C++知识点28——使用C++标准库(再谈迭代器)
一.迭代器的种类 C++中的容器以及泛型算法会大量的使用迭代器 目前已经出现的迭代器有一下几种 1.输出迭代器 (OutputIterator) 输出迭代器类似于输出流(只能向输出流中写入数据),只能 ...
- C++知识点22——使用C++标准库(顺序容器list的初始化、赋值、访问、交换、添加、删除与迭代器失效)
list容器是双向链表,使用前,需要添加#include <list> 1.list的初始化 常用的构造函数如下 explicit list (const allocator_type&a ...
- 标准模板库之容器-《C++标准库(第二版)》读书笔记
写在前面:本文是阅读<C++标准库(第二版)>的读书笔记. 文章目录 6.1 STL组件(Component) 6.2 容器(Container) 6.2.1 序列式容器(Sequence ...
- C++ 标准库类型 list
C++ 标准库类型 list 一.list 的使用与定义 1.使用 list 类型 list 类型是双向链表,有迭代器 插入和删除的速度比较快,查询的速度慢 #include <list> ...
- go学习笔记-标准库
标准库 名称 摘要 archive tar tar包实现了tar格式压缩文件的存取.zip zip包提供了zip档案文件的读写服务. bufio bufio 包实现了带缓存的I/O操作. builti ...
- C++标准库与Java基础类对照表
一.集合类 对象的集合,指如链表,数组,队列这一类的数据结构.在C++标准库中把这些成为Container, 在Java中称为Collection. C++STL常用Container: vector ...
- C++ STL常用标准库容器入门(vector,map,set,string,list...)
STL常用标准库容器 C++ STL中最基本以及最常用的类或容器无非就是以下几个: 目录 string vector deque list forward_list queue priority_qu ...
- 【侯捷】C++STL标准库与泛型编程(第二讲)
第二讲 应具备的基础 C++基本语法 模板(Template)基础 令你事半功倍 数据结构(Data Structures)和算法(Algorithms)概念 令你如鱼得水 书籍: <Algor ...
- C++ - STL标准库
1.C++ STL标准库简介 长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出"可重复运用的东西" 的方法,从函数(functions),类别(classes) ...
最新文章
- 微型计算机的EMC设计视频,干货 | EMC设计有多难,看完这31个电磁兼容标准电路,瞬间懂了...
- Sublime Text 常用插件和快捷键
- 关于Unity中的本地存储
- 4.9 利用对应的泛型替换Hashtable[转]
- java中的check函数_java中checked和unchecked 异常处理
- Kotlin入门(33)运用扩展属性
- 极客大学架构师训练营 性能优化 性能测试指标 性能测试 性能优化 CDN 网络 硬盘 缓存 异步 集群 第13课 听课总结
- 详解研发健康体检信息管理系统分析
- 相似图片搜索原理和JAVA代码实现
- 教师资格证科目一的法律重点总结
- 再见所有的翻译工具!我使用了有道智云+Python开发一个批量文档翻译工具,老大对我赞不绝口
- html特殊符号的例子,CSS/HTML 开发中常用 特殊符号(常用字符实体) 相关扩展(琐碎知识点整理)...
- 坦克世界没有服务器信号,坦克世界闪击战无法连接服务器怎么办 网络问题
- Linux学习(2)---绝对路径和相对路径
- 游戏中的角色是如何“动”起来的?
- STM32+QRCode二维码生成
- 【web前端开发教程】
- WDC2106 iOS10新特性及开发者要注意什么
- 一、旋转矩阵,旋转向量,单位四元数的相互转换总结
- 学习笔记8--惯性导航定位技术