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.链表的合并,去重和剪切

链表的合并

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

链表去重

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

链表的剪切

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

相关推荐
2501_937860947 分钟前
从JDBC到数据访问:Java数据库编程完全指南
java·开发语言·数据库
FfHUCisI8 分钟前
Golang SSA 中间表示与优化 Pass
开发语言·后端·golang
JacksonMx13 分钟前
Java 服务调用下游接口注意点
java·开发语言
兔兔兔兔120 分钟前
记录C++ 11
开发语言·c++
码匠许师傅27 分钟前
【C++ 面试真题】32. 聊聊 C++ 的原子变量与无锁编程
java·c++·面试
撩得Android一次心动30 分钟前
Kotlin 语言【知识点整理2】
android·开发语言·kotlin
淡海水35 分钟前
03-05-线性-Array-List-LinkedList与Span-所有权与成本模型选型
c#·list·编译·array·clr·机器码
不会就选b35 分钟前
Linux之线程池(一)
java·开发语言
wabs66637 分钟前
关于栈【力扣150.逆波兰表达式求值的思考】
数据结构·c++·算法·leetcode··代码随想录
欧特克_Glodon1 小时前
OpenCV计算机视觉开发入门与实践<十七>:点运算与灰度变换概述
c++·人工智能·opencv·计算机视觉