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

链表的合并

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

链表去重

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

链表的剪切

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

相关推荐
sali-tec2 分钟前
C# 基于halcon的视觉工作流-章68 深度学习-对象检测
开发语言·算法·计算机视觉·重构·c#
生骨大头菜2 小时前
使用python实现相似图片搜索功能,并接入springcloud
开发语言·python·spring cloud·微服务
绝不收费—免费看不了了联系我2 小时前
Fastapi的单进程响应问题 和 解决方法
开发语言·后端·python·fastapi
消失的旧时光-19432 小时前
深入理解 Java 线程池(二):ThreadPoolExecutor 执行流程 + 运行状态 + ctl 原理全解析
java·开发语言
咖啡续命又一天2 小时前
Trae CN IDE 中 Python 开发的具体流程和配置总结
开发语言·ide·python·ai编程
4311媒体网2 小时前
帝国cms调用文章内容 二开基本操作
java·开发语言·php
GSDjisidi2 小时前
东京IT软件会社-(株)GSD|多种技术栈募集,高度人才+20分
开发语言·面试·职场和发展
程序员zgh3 小时前
Linux系统常用命令集合
linux·运维·服务器·c语言·开发语言·c++
獭.獭.3 小时前
C++ -- STL【unordered_set与unordered_map的实现】
开发语言·c++·unordered_map·unordered_set
qq_433554544 小时前
C++数位DP
c++·算法·图论