C++基础:list的基本使用

文章目录

list的本质就是带头双向循环列表

1.基本构造和插入删除

基本构造和尾插数据

与之前vector的方法相同直接调用即可

迭代器的分类

  1. 功能分类:
迭代器名称 迭代器类型
正向迭代器 iterator
反向迭代器 reverse_iterator
const迭代器 const_iterator/const_reverse_iterator
  1. 性质分类:
方向 支持运算符 对应迭代器的类型
单向 只支持++ forward_list/unordered_map...
双向 在方向上面支持 ++/-- 不支持+/= list/map/set...
随机 支持++/--/+/- vector/string/deque...

内置排序sort

std中有排序的算法,可以直接用来排任意类型的数据,使用时要包含头文件<algorithm>,使用方法如下:

但是在list中内置了排序,可以直接调用:

任意位置插入删除

这里不能再直接给值了,先找的插入的节点的位置在进行插入

例如:

当然也可以用std::find来查找

2.链表的合并,去重和剪切

链表的合并

将两个链表和到一起,但是两一个链表会置空:

链表去重

将链表的重复数据删除,例如:

链表的剪切

将链表的数据剪切到另一个上,要注意的是第一个参数为迭代器

相关推荐
听雨入夜19 小时前
“同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?
开发语言·python
随风M记忆s19 小时前
GEE&Python-demo:利用Sentinel-监测北京奥林匹克森林公园年NDVI变化(附Python版)
开发语言·python·sentinel
C++、Java和Python的菜鸟20 小时前
第9章 后端Web进阶(AOP)
java·开发语言·前端
软萌萌的120 小时前
Python零基础从入门到精通详细教程-数据类型
开发语言·windows·python
姓蔡小朋友20 小时前
Java线程并发
java·开发语言·python
我星期八休息20 小时前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump
小小代码狗21 小时前
PHP 常用函数与变量参考文档
开发语言·安全·php
编程阿峰21 小时前
Python 环境配置(二)安装jupyter、matplotlib、numpy库
开发语言·python·jupyter·numpy·matplotlib
磁爆步兵21 小时前
内存分区:程序运行的核心秘密
java·开发语言·jvm
2301_7779983421 小时前
Linux线程同步与互斥(三):信号量与环形队列实现生产者消费者模型
linux·c语言·c++