当前位置: 首页 > news >正文

C++list

list简介

list是我们的链表,而且是带头双向循环链表,如下图

 我们都知道,链表是由一个一个的节点组成的,它的成员由下面几个部分组成

通过对前面string,vector的学习,其实再来看我们的链表及其成员函数,是非常简单的,如果各位前面的没有学习,我觉得是与必要学习一下前面的,话不多少,直接来开始我们今天的正题

list的使用

 

针对上面的代码的说明:

list的成员函数中是没有[]的,因为链表的结构在物理上不是连续的,所以,我们的遍历只能能用

迭代器或者范围for

emplace函数

 这个函数的作用是把一个链表里面的数据剪切到另外一个链表里面去,记住,是剪切,不是复制,进行这个操作之后被剪切的那个链表里面的数据会没的

通过上面的代码,结果的确是这样

那这个函数是否可以将本对象里面的某一个元素移到本对象里的位置嘞?答案是可以的

对这个函数里面的一些参数进行说明

 swap函数

和别的容器不一样,list是有自己的交换函数的

他的作用是将两个链表的内容进行交换

 

排序函数 

list也有自己的排序函数,标准库里面的排序函数是不支持list的,因为标准库里面的排序函数里面参数的类型是随机迭代器,但是list的迭代器并不是随机迭代器

标准库里面的

 

如果我们想要进行降序排序,可以在里面添加一个greater<int>()

 

总结: 

其实,这部分好像并没有什么好讲的,通过前面的string,vector的学习,这些函数都差不多,名字,功能都是几乎一模一样的


http://www.mrgr.cn/news/51005.html

相关文章:

  • 总结拓展十四:批次管理(2)
  • python源码:指定麦克风/音响播放歌曲
  • 电能表预付费系统-标准传输规范(STS)(6)
  • python pip安装requirements.txt依赖与国内镜像
  • Loss:Objects as Points
  • 如何实现弹出式窗口
  • 【量化交易】聚宽安装
  • 深入 IDEA 字节码世界:如何轻松查看 .class 文件?
  • python画图|在三维空间的不同平面上分别绘制不同类型二维图
  • Vivado HLS C/RTL 联合仿真时间
  • Tmux常用操作--云GPU版
  • leetcode解题思路分析(一百六十一)1394 - 1400 题
  • 【C++进阶】封装红黑树实现map和set
  • SpringCloud-持久层框架MyBatis Plus的使用与原理详解
  • 超声波测距
  • 微信小程序-独立分包/分包预下载
  • 13.java面向对象:面向对象的三大特征
  • RK3568平台开发系列讲解(调试篇)如何在procfs创建一个文件与用户空间交互
  • 【Python语言进阶(二)】
  • 舍伍德业务安全架构(Sherwood Applied Business Security Architecture, SABSA)